计算机二级C语言考试真题解析:去除偶数位数字
4星 · 超过85%的资源 需积分: 6 164 浏览量
更新于2024-07-30
3
收藏 1.78MB DOC 举报
"这是一个关于计算机二级C语言考试的试题库,包含了解题思路和代码修改的题目。"
在计算机二级C语言考试中,编程题目经常涉及到对数据的处理和算法的应用。这里有两个具体的题目实例。
第一个题目是关于处理整数的。函数`fun`的目的是从一个无符号长整型数中去除所有偶数位上的数字,只保留奇数位的数字,并保持原数的高位到低位顺序。解题的关键在于理解如何通过取模运算 `%` 来获取数字的个位,并用条件语句来判断该位是否为奇数。在给定的程序中:
1. `t=*n%10;` 这一行是用来获取`n`的最低位数字,因为模10的操作可以得到个位数,所以填入10是正确的。
2. `if(t%2!=0)` 这里的条件是为了检查当前位数字是否为奇数,如果`t%2`不等于0,则表示`t`是奇数,因此填入0是合适的。
3. `*n=x;` 在循环结束后,新数`x`应该被赋值给`n`,以便通过指针`n`返回新的数字,因此填入`x`是正确的。
第二个题目涉及到计算阶乘。函数`fun`应该计算并返回输入整数`n`的阶乘。题目中指出,当`n`为5时,输出应该是120。然而,给定的代码存在错误。正确的实现应该在`if`语句中检查`n`是否为0,而不是用`ifn==0`(缺少了等号),所以应改为`if (n == 0)`。同时,`while`循环的条件应该是`n > 1`,因为一旦`n`为1,就不再需要乘以任何数,阶乘计算结束。因此,修正后的代码片段应为:
```c
if (n == 0)
return 1.0;
while (n > 1)
```
这两个题目都要求考生具备基本的C语言语法知识,包括指针操作、条件语句、循环以及数学运算。在实际编程考试中,考生需要仔细阅读题目要求,理解并正确实现所描述的功能。
2011-11-22 上传
107 浏览量
283 浏览量
2024-03-05 上传
2023-05-10 上传
2023-08-25 上传
2024-03-25 上传
2023-08-12 上传
2023-07-11 上传
jiuzhuqiu
- 粉丝: 0
- 资源: 2
最新资源
- 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 图片组合的开发部署记录