2011年南开C语言编程题解析:求解特定整数与数组操作
需积分: 9 184 浏览量
更新于2024-07-27
收藏 103KB DOC 举报
"2011年南开大学计算机二级C语言考试的100题练习,涵盖了数组、条件判断、循环控制等基础知识。"
在2011年的南开大学计算机二级C语言考试中,有几道题目涉及到基本的编程概念和技巧,主要考察了考生对数组操作、条件判断、循环控制以及函数设计的理解和应用。
1. 第1题要求编写一个函数`fun`,其功能是找出一个包含m个成绩的数组`score`中低于平均分的分数,并将这些分数存储在`below`数组中。该题主要涉及数组遍历、计算平均值以及条件判断。首先,通过一个循环计算平均分,然后再次遍历数组,判断每个元素是否低于平均分,如果满足条件则将其存入`below`数组,并更新计数器`k`。最后返回低于平均分的分数个数。
```c
int fun(int score[], int m, int below[]) {
int i, k = 0, aver = 0;
for (i = 0; i < m; i++) {
aver += score[i];
}
aver /= m;
for (i = 0; i < m; i++) {
if (score[i] < aver) {
below[k] = score[i];
k++;
}
}
return k;
}
```
2. 第2题的目标是编写一个函数`fun`,找出1到100之间能被7或11整除,但不能同时被7和11整除的数字,并将这些数字放入数组`a`。这道题考察了模运算(取余)和逻辑运算符的运用。使用两个嵌套循环,外层循环遍历2到1000,内层循环用于检查是否符合题目条件。符合条件的数字添加到数组`a`,并通过指针`n`返回个数。
```c
void fun(int *a, int *n) {
int i, j = 0;
for (i = 2; i < 1000; i++) {
if ((i % 7 == 0 || i % 11 == 0) && i % 77 != 0) {
a[j++] = i;
}
}
*n = j;
}
```
3. 第3题要求编写一个函数`fun`,找出所有能整除给定整数`x`且不是偶数的数,按从小到大的顺序存入`pp`数组。该题主要考察了整数除法、奇偶性判断以及数组的操作。首先初始化一个数组`t`,存储所有非偶数的整数,接着将能整除`x`的非偶数除数存入`pp`数组,最后通过指针`n`返回除数个数。
```c
void fun(int x, int pp[], int *n) {
int i = 1, j = 0, k = 0, *t = pp;
for (i = 1; i <= x; i++) {
if (i % 2 != 0) {
t[j] = i;
j++;
}
}
for (i = 0; i < j; i++) {
if (x % t[i] == 0) {
pp[k] = t[i];
k++;
}
}
*n = k;
}
```
4. 第4题要求编写一个函数`fun`,统计字符串`tt`中26个小写字母各自的出现次数,并将结果存入`pp`数组。这道题主要涉及字符处理和计数。通过一个循环遍历字符串,对每个字符进行判断,使用`switch`语句来累加对应字母的计数。
```c
void fun(char *tt, int pp[]) {
int i;
for (i = 0; i < 26; i++) {
pp[i] = 0;
}
while (*tt) {
switch (*tt) {
case 'a': pp[0]++; break;
case 'b': pp[1]++; break;
// ... (继续统计其他24个字母)
case 'z': pp[25]++; break;
}
tt++;
}
}
```
以上四题分别考察了数组操作、逻辑判断、整数除法和字符处理,这些都是C语言基础编程的重要组成部分。通过对这些题目的解答,考生可以加深对C语言基本语法和程序设计思路的理解。
2022-02-28 上传
2011-03-18 上传
点击了解资源详情
2011-06-18 上传
2021-09-30 上传
2011-02-23 上传
2012-03-17 上传
2011-03-26 上传
点击了解资源详情
蓝莓芝士
- 粉丝: 0
- 资源: 2
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用