编程考试题:C语言函数实现与阶乘计算

需积分: 9 0 下载量 5 浏览量 更新于2024-09-11 收藏 348KB TXT 举报
"计算机二级考试相关编程题目解析" 在计算机二级考试中,常常会涉及到编程题目,本题主要考察了两个编程知识点:整数逆序输出和阶乘计算。 第一部分是一个C语言程序,用于实现将输入的非负整数逆序输出。代码的核心部分是一个名为`fun`的函数,它接受一个无符号长整型指针`n`作为参数。函数内部通过循环处理指针所指向的数值,每次循环中,计算当前数值除以10的余数(即`t=*n%__1__`),并判断余数是否为奇数(`if(t%2!=__2__)`)。如果余数是奇数,就将余数与当前指数`i`的乘积累加到变量`x`上,同时指数`i`乘以10。最后,将指针`n`指向的数值除以10,直至数值变为0。在完成所有处理后,将`x`的值存储回`n`所指向的位置(`*n=__3__;`)。在主函数`main`中,用户被要求输入一个在0到100000000之间的整数,然后调用`fun`函数进行逆序操作,并打印结果。 其中,`__1__`、`__2__`和`__3__`处的空白需要填写合适的数字。根据程序逻辑,`__1__`应为10,因为我们需要取当前数值除以10的余数;`__2__`应为0,因为我们需要判断余数是否为奇数;`__3__`应为`x`,因为在循环结束后,`x`保存了逆序后的数值,将其赋值回`n`。 第二部分同样是一个C语言程序,这次是为了计算输入整数`n`的阶乘。函数`fun`接受一个整型参数`n`,并返回一个双精度浮点数,代表阶乘的结果。在函数内部,当`n`等于0时,返回1(因为0的阶乘定义为1),否则在`while`循环中,`result`乘以`n--`,直到`n`减到1或者超过169(防止溢出,因为170的阶乘超过了双精度浮点数的表示范围)。在主函数`main`中,用户输入一个整数`n`,然后调用`fun`计算阶乘并打印结果。 两道题目均体现了C语言的基本语法和控制结构,包括指针操作、条件判断、循环以及函数调用。对于计算机二级考生来说,理解和掌握这些基本概念是非常重要的。