C语言编程:处理偶数位数字并读写文件
需积分: 1 158 浏览量
更新于2024-07-26
收藏 1.49MB DOC 举报
"C语言编程题目解析"
在C语言编程中,常常会遇到处理数值和字符串的题目,这两道题目正是这种类型的典型示例。
第一道题目涉及到处理整数的每一位,特别是检查它们是否为偶数。函数`fun`的目标是构建一个新的数,其中只包含原数中奇数位的数字。在分析程序时,我们可以看到:
1. `t=*n%__1__;` 这一行是计算当前数(`*n`)除以10的余数,以获取个位数。因此,此处应填写10,因为 `%` 是求余运算符,用于找出一个数除以另一个数后的余数。
2. `if(t%2!=__2__)` 这是一个条件语句,用来判断取出的个位数是否为奇数。如果`t`对2求余不等于0,则`t`是个奇数。因此,这里应填写0,使得条件为 `if(t%2!=0)`。
3. `*n=__3__;` 这一行是更新原始变量`n`的值,使其成为新构建的数。由于我们已经构建了新的数`x`,此处应将`*n`设置为`x`,以便通过指针返回新数。
完整的`fun`函数应该是这样的:
```c
void fun(unsigned long *n) {
unsigned long x = 0, i;
int t;
i = 1;
while (*n) {
t = *n % 10;
if (t % 2 != 0) {
x = x + t * i;
i = i * 10;
}
*n = *n / 10;
}
*n = x;
}
```
第二道题目涉及文件操作,包括写入数据到文件和从文件读取数据。函数`fun`负责执行这个任务,具体步骤如下:
1. `__1__ fp; FILE *` 这一行是用来声明一个文件指针`fp`,它将用于打开和关闭文件。因此,这里应该填写`FILE *`,即`FILE *fp;`。
2. `fp=fopen("file1.txt","w");` 这行代码是打开名为`file1.txt`的文件,`"w"`表示写入模式。文件指针`fp`被赋值为打开的文件句柄。
3. `fprintf(fp,"%s%d%f\n",s,a,f);` 使用`fprintf`函数将字符串`s`、整数`a`和浮点数`f`写入文件。
4. `fp=fopen("file1.txt","r");` 这行代码再次打开`file1.txt`,但这次是以`"r"`模式,即读取模式。
5. `while((ch=getc(fp))!=EOF)` 循环读取文件中的每个字符,直到遇到文件结束符`EOF`。
6. `putchar(ch);` 将读取到的字符输出到屏幕。
7. `fclose(fp);` 最后,关闭文件。
完成的`fun`函数应当如下所示:
```c
void fun(char *s, int a, double f) {
FILE *fp;
char ch;
fp = fopen("file1.txt", "w");
fprintf(fp, "%s%d%f\n", s, a, f);
fclose(fp);
fp = fopen("file1.txt", "r");
while ((ch = getc(fp)) != EOF) {
putchar(ch);
}
fclose(fp);
}
```
这两道题目分别展示了C语言中处理数值位的逻辑和文件操作的基本技巧,是学习C语言时经常会遇到的练习类型。通过解决这些问题,可以提升对C语言基本概念的理解和实践能力。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-07-14 上传

u010128345
- 粉丝: 0
最新资源
- 易酷免费影视系统:开源网站代码与简易后台管理
- Coursera美国人口普查数据集及使用指南解析
- 德加拉6800卡监控:性能评测与使用指南
- 深度解析OFDM关键技术及其在通信中的应用
- 适用于Windows7 64位和CAD2008的truetable工具
- WM9714声卡与DW9000网卡数据手册解析
- Sqoop 1.99.3版本Hadoop 2.0.0环境配置指南
- 《Super Spicy Gun Game》游戏开发资料库:Unity 2019.4.18f1
- 精易会员浏览器:小尺寸多功能抓包工具
- MySQL安装与故障排除及代码编写全攻略
- C#与SQL2000实现的银行储蓄管理系统开发教程
- 解决Windows下Pthread.dll缺失问题的方法
- I386文件深度解析与oki5530驱动应用
- PCB涂覆OSP工艺应用技术资源下载
- 三菱PLC自动调试台程序实例解析
- 解决OpenCV 3.1编译难题:配置必要的库文件