file-type

C语言编程练习:圆周长、数字积与整数筛选

DOCX文件

下载需积分: 40 | 235KB | 更新于2024-09-03 | 134 浏览量 | 5 评论 | 4 下载量 举报 收藏
download 立即下载
"该文档是一个计算机二级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语言基本语法的理解,还能锻炼到条件判断、循环控制、函数调用以及数组操作等技能,为后续更复杂的编程任务打下坚实基础。

相关推荐

资源评论
用户头像
八位数花园
2025.06.03
对于想要系统学习C语言并准备参加计算机二级考试的朋友来说,这份题库是必备的复习材料。
用户头像
ai
2025.03.24
通过这些精选的80道上机题,能够有效提高解决实际问题的能力,为后续编程学习打下坚实基础。
用户头像
东郊椰林放猪散仙
2025.03.10
文档内容组织得当,例题解析清晰,是学习C语言和备考计算机二级的良好辅助工具。
用户头像
易烫YCC
2025.03.01
题库中的题目覆盖面广,适合不同水平的学生进行针对性的练习和自我检测。
用户头像
伯特兰·罗卜
2025.03.01
对于编程初学者来说,这份题库是一份不错的练习资料,内容全面,有助于巩固C语言基础。