计算机二级C语言考试真题解析:去除偶数位数字
4星 · 超过85%的资源 需积分: 6 87 浏览量
更新于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 浏览量
2011-07-16 上传
2013-09-17 上传
2019-06-25 上传
2022-01-05 上传
2021-09-21 上传
2021-11-01 上传
jiuzhuqiu
- 粉丝: 0
- 资源: 2
最新资源
- airclick-开源
- react-native-twitter:一个用于React Native的Twitter API客户端库
- 人工智能引论变声项目.zip
- matlab拟合差值代码-CP-Fit:自动拟合应力-应变数据和织构以实现晶体可塑性
- EX19_ADC.rar_嵌入式/单片机/硬件编程_C/C++_
- 我的日记:因为写日记是个好习惯
- 八梦企业网站源代码
- 人工智能聊天机器人.zip
- 投资组合:项目投资组合管理
- sentry-phabricator:与Phabricator集成的Sentry扩展
- 伪造的中文名称:生成随机中文人名的Sketch插件
- x.rar_matlab例程_matlab_
- 船板
- ahcitool-开源
- Face_Mask_Detector:应用程序可检测您是否在口罩上
- Arabic Word diversity-开源