C语言编程题:统计低于平均分人数与筛选特定整数

版权申诉
0 下载量 53 浏览量 更新于2024-07-01 收藏 342KB DOC 举报
本资源包含了两个C语言编程题目及其解决方案,旨在帮助考生准备国二级别的C语言考试。 第一个问题涉及编写函数`fun`,其功能是统计一个整数数组`score`中低于平均分的人数以及将这些分数保存到`below`数组中。函数接受三个参数:分数数组`score`、数组长度`m`和用于存储低于平均分分数的`below`数组。在函数中,首先通过`for`循环计算数组中所有分数的总和,并通过`aver /= m`求得平均值。接着,再次使用`for`循环遍历数组,如果当前分数小于平均值,则将其添加到`below`数组中,同时更新计数器`j`。函数最后返回计数器`j`作为低于平均分人数的结果。 示例代码: ```c int fun(int score[], int m, int below[]) { int i, j = 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[j++] = score[i]; return j; } ``` 第二个问题是关于寻找1到1000之间能被7或11整除,但不能同时被7和11整除的整数。题目要求编写名为`fun`的函数,它接收两个参数:一个整数数组`a`和一个整数指针`n`,用于存储符合条件的数字个数。通过`for`循环遍历1到1000的整数,利用条件`((i % 7 == 0) || (i % 11 == 0)) && !((i % 7 == 0) && (i % 11 == 0))`来筛选出满足条件的数字。如果满足条件,将该数存储在数组`a`中并增加计数器`m`。函数结束时,`n`指向的值即为符合条件的数字个数。 示例代码: ```c void fun(int* a, int* n) { int i, m = 0; for (i = 1; i < 1000; i++) { if (((i % 7 == 0) || (i % 11 == 0)) && !((i % 7 == 0) && (i % 11 == 0))) { a[m] = i; m++; } } *n = m; } ``` 这两个问题考察了C语言的基本数据结构操作(如数组和指针)、控制结构(如`for`循环)以及条件判断,同时也涉及了数组排序和筛选的基本算法。考生在准备国二C语言考试时,应当熟练掌握这类基础题目,理解和灵活运用C语言进行编程实现。