2011年南开C语言编程题解析:求解特定整数与数组操作
需积分: 9 34 浏览量
更新于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 上传
2021-10-06 上传
2011-02-23 上传
2012-03-17 上传
2011-03-26 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
蓝莓芝士
- 粉丝: 0
- 资源: 2
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析