全国计算机等级考试二级C语言编程题目解析
版权申诉
10 浏览量
更新于2024-08-06
收藏 26KB DOCX 举报
该文档是全国计算机等级考试二级C语言的上机编程题参考答案,包含多个关于整数处理、条件判断、循环控制、数组操作和数学运算的编程题目及其解决方案。
1. 整数合并
题目要求将两个两位正整数a和b合并成一个新的整数c,其中a的十位和个位分别对应c的千位和十位,b的十位和个位对应c的百位和个位。实现方法是通过整数运算和取模来完成:
```c
void fun(int a, int b, int* c) {
*c = a / 10 * 1000 + b / 10 * 100 + a % 10 * 10 + b % 10;
}
```
2. 同构数判断
函数用于判断整数x是否是同构数,即x的平方数的最右边数字是x本身。通过比较x与x*x%10的值来判断:
```c
int fun(int x) {
return (x < 10 && x * x % 10 == x) || (x >= 10 && x * x % 100 == x);
}
```
3. 提取整数的后n-1位
给定大于10的无符号整数w,函数返回w的后n-1位数。通过不断除以10,确定w的有效位数m,然后用w模(m/10)得到结果:
```c
unsigned fun(unsigned w) {
unsigned t = w, m = 1;
while (t) {
t /= 10;
m *= 10;
}
return w % (m / 10);
}
```
4. 四舍五入保留两位小数
对正数x保留两位小数,并对第三位进行四舍五入。通过乘以100,加上0.5,再除以100.0实现:
```c
double fun(double x) {
return (int)(x * 100 + 0.5) / 100.0;
}
```
5. 找出能被3和7整除的自然数之和的平方根
计算1到n以内同时能被3和7整除的自然数之和s,然后返回s的平方根:
```c
double fun(int n) {
int i;
double s = 0;
for (i = 1; i < n; i++) {
if (i % 3 == 0 && i % 7 == 0) {
s += i;
}
}
return sqrt(s);
}
```
6. 收集能被7或11整除的整数
通过循环遍历1到m,将符合条件的数存入数组a,并返回这些数的个数:
```c
int fun(int* a, int m) {
int i, j = 0;
for (i = 1; i <= m; i++) {
if (i % 7 == 0 || i % 11 == 0) {
a[j++] = i; // j++模式
}
}
return j;
}
```
7. 素数平方根之和
计算3到n之间所有素数的平方根之和s,通过两层循环判断素数:
```c
double fun(int n) {
int i, k;
double s = 0;
for (i = 3; i <= n; i++) {
for (k = 2; k < i; k++) { // 推断素数
if (i % k == 0) break; // 整除中止
}
if (i == k) s += sqrt(i); // 是素数
}
return s;
}
```
8. 存储素数
找出小于或等于lim的所有素数,并放入数组a中,返回素数的个数。此部分代码未给出完整实现,但可以通过类似第7题的方法实现。
以上代码提供了全国计算机等级考试二级C语言上机编程题目的部分参考解答,涵盖了整数处理、逻辑判断、数组操作等基础编程技能。
2021-10-23 上传
2021-10-22 上传
2022-10-15 上传
2023-06-10 上传
2024-10-29 上传
2023-02-24 上传
2023-06-06 上传
2023-05-30 上传
2023-05-31 上传
celkhn5460
- 粉丝: 0
- 资源: 4万+
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录