C语言编程练习:圆周长、数字积与整数筛选
需积分: 10 41 浏览量
更新于2024-09-03
收藏 235KB DOCX 举报
"该文档是一个计算机二级C语言的上机考试题库,包含了填空题、改错题和编程题三种类型的题目,旨在帮助学习者巩固C语言的基础知识,特别是循环、函数调用以及条件判断等核心概念。"
在计算机二级C语言的学习中,掌握基本的语法和编程技巧至关重要。题库中的填空题、改错题和编程题都是常见的练习形式,能够有效提升学习者的编程能力和问题解决能力。
1. 填空题:
题目要求实现一个计算1/4圆周长的函数。圆周长公式为 `L = Πd`,其中 `d` 代表直径。题目给出的函数 `fun` 已经定义了计算圆周长的部分,只需要将常量 π 的值(3.14159)乘以直径 `d` 再除以4即可。在实际编程中,可以使用 `#define` 预处理器指令来定义π的值,以提高代码可读性,如 `#define PI 3.14159`。
```c
#include<stdio.h>
#define PI 3.14159
double fun(double d) {
return PI * d / 4.0;
}
main() {
double z;
printf("请输入圆的直径:");
scanf("%lf", &z);
printf("L=%lf\n", fun(z));
}
```
2. 改错题:
题目要求计算正整数m的各位数字之积。原始代码中,函数 `fun` 通过 `do...while` 循环实现了这一功能,但需要注意的是,循环条件应改为 `while(n > 0)`,以确保在m为0时也能正确结束循环。同时,为保持原程序结构不变,我们需要保留原有代码结构,只修改循环条件。
```c
#include<stdio.h>
#include<conio.h>
long fun(long n) {
long r = 1;
do {
r *= n % 10;
n /= 10;
} while (n > 0); // 修改循环条件为 n > 0
return(r);
}
main() {
long m;
printf("\n请输入一个数字:");
scanf("%ld", &m);
printf("\n%ld\n", fun(m));
}
```
3. 编程题:
本题要求编写一个函数 `fun`,找出1到m之间(含m)所有能被7或11整除的整数,并存储在数组 `b` 中,通过指针 `n` 返回这些数的个数。使用两个嵌套循环可以达到目的,外层循环遍历1到m,内层循环检查是否能被7或11整除。如果满足条件,将数字存入数组 `b` 并增加计数器 `j`。
```c
#include<conio.h>
#include<stdio.h>
#define N 100
void fun(int m, int b[], int *n) {
int i, j = 0;
*n = 0;
for (i = 1; i <= m; i++) {
if (i % 7 == 0 || i % 11 == 0) {
b[j] = i;
j++;
}
}
*n = j;
}
main() {
int a[N], n, i;
FILE *out;
fun(20, a, &n);
for (i = 0; i < n; i++) {
if ((i + 1) % 10 == 0) // 每10个数换行输出
printf("\n");
printf("%d ", a[i]);
}
printf("\n");
}
```
通过解答这些题目,学习者不仅可以加深对C语言基本语法的理解,还能锻炼到条件判断、循环控制、函数调用以及数组操作等技能,为后续更复杂的编程任务打下坚实基础。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-10-14 上传
2021-10-14 上传
2021-10-14 上传
2021-10-14 上传
2021-10-21 上传
野生java研究僧
- 粉丝: 8524
- 资源: 9
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用