修复错误与编程题:2010年南开二级C语言考试重点
需积分: 0 156 浏览量
更新于2024-08-01
收藏 958KB DOC 举报
"这是2010年南开大学计算机等级考试三级网络基础的练习题集,包含改错题和编程题。"
这部分内容涉及到两个题目,分别是C语言的改错题和编程题。
1. 改错题
题目要求编写一个程序,用于找出输入整数的所有质因子。在给定的代码中,有两个错误需要修正:
- 错误1:函数`IsPrime`定义末尾的分号应该被去掉。原本的`IsPrime(int n);`应该改为`IsPrime(int n)`。
- 错误2:`if`语句的条件判断不正确。`if!(n%i)` 应该改为 `if (!(n%i))`,这样当`n`可以被`i`整除时,条件才为假,进入分支执行。
修正后的代码如下:
```c
#include<conio.h>
#include<stdio.h>
int IsPrime(int n) { // 去掉分号
int i, m;
m = 1;
for (i = 2; i < n; i++) { // 修正if语句
if (!(n % i)) { // 将!()改为|()
m = 0;
break;
}
}
return m;
}
main() {
int j, k;
clrscr();
printf("请输入一个介于2和10000之间的整数:");
scanf("%d", &k);
printf("该整数的质因子是:");
for (j = 2; j <= k; j++) {
if ((!(k % j)) && (IsPrime(j))) printf("%4d", j);
}
printf("\n");
}
```
2. 编程题1
这个编程题要求编写一个函数`fun`,计算并返回数组`score`中低于平均分的元素个数,并将这些元素存储到`below`数组中。
提供的部分源代码中,已经有计算平均分和遍历数组的基础框架。需要注意的是,函数需要返回低于平均分的人数,因此需要一个变量`k`来记录此类元素的个数。同时,在遍历数组的过程中,当元素低于平均分且满足条件时,将其添加到`below`数组中。以下是完成的`fun`函数:
```c
#include<conio.h>
#include<stdio.h>
#include<string.h>
int fun(int score[], int m, int below[]) {
int i, k = 0; // 添加k变量
float 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]; // 存储到below数组,并增加计数
}
}
return k; // 返回低于平均分的元素个数
}
```
这两个题目都考察了基本的C语言编程能力,包括条件判断、循环、数组操作以及函数的使用。在解决这类问题时,理解并正确使用逻辑运算符、控制流程语句以及数组处理是非常重要的。
2010-03-04 上传
2010-03-21 上传
2009-09-22 上传
2010-02-03 上传
2010-02-09 上传
2010-01-28 上传
2010-01-31 上传
2010-01-27 上传
2010-01-27 上传
xzq7611367
- 粉丝: 0
- 资源: 1
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常