C语言编程题目:处理偶数位、计算阶乘与字符串转整数

版权申诉
0 下载量 110 浏览量 更新于2024-07-02 收藏 984KB DOC 举报
"C语言100道上机试题.doc 包含了三道关于C语言编程的题目,涉及数字处理和数学计算。" 第一题是一个关于处理数字位的题目。函数`fun`的目的是移除输入数值中所有偶数位上的数字,保留奇数位数字并重新排列。在给定的代码中,`t=*n%10`用于获取当前数字的个位数,`if(t%2!=0)`检查这个个位数是否为奇数,然后将其添加到新数`x`中。`*n=*n/10`用于移除当前位,最后`*n=x`将新数赋值回原变量。此题考察了对整数位操作和指针的理解。 第二题涉及到计算阶乘。函数`fun`计算输入整数`n`的阶乘。初始值`result=1.0`,之后`if (n=0)`判断是否为0,如果是则返回1(因为0的阶乘是1)。在`while`循环中,`result *= n--`将`n`乘以当前的`result`并递减`n`,直到`n`小于2。注意,防止溢出,这里限制了`n<170`。该题检验了循环、条件判断和递减运算符的运用。 第三题要求编写一个函数`fun`,实现从数字字符串转换成整数的功能,不能使用C语言提供的内置转换函数。此题可能需要利用字符数组,遍历字符串,根据正负号和数字字符进行计算,将字符串转换为整数值。这涉及到字符串处理、字符与数字之间的转换以及条件判断等概念。 这三题分别涵盖了C语言中的位操作、数学计算和字符串处理等核心知识点,对于学习C语言的学生来说,是很好的练习题目。通过解决这些问题,可以深入理解C语言的基础语法和逻辑运算。