南开大学计算机等级考试上机题目解析
需积分: 9 125 浏览量
更新于2024-07-31
收藏 252KB DOC 举报
"南开大学计算机等级考试上机题,包含两道编程题目,分别为第1题和第2题。第1题要求编写一个函数,找出数组中低于平均分的分数并存储到另一个数组中。第2题要求编写一个函数,找出1到100之间能被7或11整除但不能同时被7和11整除的数字,并存储到数组中。"
在第一题中,我们面对的是一个关于数组处理和计算平均分的问题。题目要求编写一个名为`fun`的函数,接收一个表示成绩的整数数组`score[]`、数组长度`m`以及一个用于存放低于平均分成绩的数组`below[]`。函数的主要任务是计算`score[]`中的平均分,并将所有低于平均分的分数存入`below[]`。给出的解决方案中,首先通过遍历整个`score[]`数组计算平均分`aver`,然后再次遍历数组,将低于平均分的元素存入`below[]`,同时返回低于平均分的分数个数`k`。
```c
intfun(intscore[],intm,intbelow[])
{
inti,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++;
}
returnk;
}
```
第二题的目标是找到1到100之间的数字,这些数字可以被7或11整除,但不能同时被7和11整除。为此,我们需要编写一个函数`fun`,它接受一个整数数组`a`来存放结果,并通过指针`n`返回满足条件的数字个数。给出的解答中,使用了一个嵌套的条件判断来检查每个数字是否符合要求。
```c
voidfun(int*a,int*n)
{
inti,j=0;
for(i=2;i<1000;i++) // 注意:范围应从1开始,实际题目要求到100
if((i%7==0||i%11==0)&&i%77!=0)
a[j++]=i;
*n=j;
}
```
在`main()`函数中,这两个问题都会被测试。对于第一题,创建了一个包含10个元素的数组`score[]`并初始化了一些成绩,然后调用`fun`函数并输出结果。对于第二题,创建了一个同样大小的数组`a[]`,调用`fun`函数后,输出了符合条件的数字个数和这些数字本身。
这两题都是关于算法和数组操作的基础练习,旨在考察考生对C语言基础的掌握程度,包括数组操作、循环、条件判断以及基本的数学计算。解题思路清晰,代码简洁,是提高编程技能的良好示例。
2009-11-06 上传
2011-03-28 上传
2021-08-03 上传
2009-06-09 上传
2009-04-12 上传
2011-03-28 上传
2009-03-15 上传
Tomato0703
- 粉丝: 10
- 资源: 7
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码