
C语言编程练习:圆周长、数字积与整数筛选
下载需积分: 40 | 235KB |
更新于2024-09-03
| 134 浏览量 | 5 评论 | 举报
收藏
"该文档是一个计算机二级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语言基础。

野生java研究僧
- 粉丝: 8710
最新资源
- IceKey组件:跨版本硬件相关机器码生成器
- DOS环境下INI文件解析及修改技术
- 软件设计师考试必备知识点:08年下半年整理
- 小巧高效的C++ XML解析库:TinyXML深度解析
- C#与.NET框架开发教程详解
- BorlandC在DOS环境下立体按钮的设计实现
- 无需安装的绿色Tomcat5.5.9快速部署解决方案
- 紫轩资料管理大师:全能型资料管理软件
- GoodSync V7.55绿色版多语言工具发布
- SDL开发库文件包含头文件详细解析
- iText实现Hello World文本在PDF中展示
- 生物信息学必备资料和工具大全
- 《C++程序设计教程》钱能版习题答案集锦
- asp+access留言管理系统实现教程
- 初学者指南:JSTL实用示例
- 深入解析msjdbc核心jar包:msbase、mssqlserver与msutil
- LumaQQ源码及库文件压缩包解析
- ERP系统全面教程:概念至实施的全方位解读
- 图像处理经典算法源代码分享
- 北大青鸟S2阶段C#课程PPT全集
- C# 经典类库分享:Seaskyer与WebApp工具集
- 深入探讨ArcInfo在GIS领域的二次开发应用
- Visual C++.NET编程实例精解与特效应用
- 全面解析Spring中文开发手册:IoC与AOP深入理解