C语言练习题答案 下载本文

}

voidOutputPrimeFactor(intx) { inti;

for(i=2;i

if(x%i==0) {

printf(\ OutputPrimeFactor(x/i); return; } }

printf(\ }

---------------------------7 8.

将任一整数转换为二进制形式。

**输入格式要求:\提示信息:\

**输出格式要求:\程序运行示例如下: Input number:876

number of decimal form:876

it's binary form: 00000000000000000000001101101100

答案:

#include #include int main() { }

---------------------------8 9.

求自然数n最近的素数k, k>n。

***输入提示信息**:\***输入数据格式**:\***输出数据格式**:\

int a; char b[32];

printf(\); scanf(\, &a);

printf(\, a); printf(\); printf(\, itoa(a, b, 2));

示例 输入: 257 输出:

Please input n:263 答案:

#include int main() {

int n, i = 1, k;

printf(\ scanf(\ for (k = n + 1;i;k++) {

for (i = 2;i < k;i++) if (k%i == 0) break; else

continue; if (i == k) {

printf(\ i = 0; break; } } }

---------------9 10.

如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。

注意:1没有真因子,所以不是完全数。例如,6就是一个完全数,是因为6 = 1 + 2 + 3。 请编写一个判断完全数的函数IsPerfect(),然后判断从键盘输入的整数是否是完全数。

要求:按如下原型编写判断完全数的函数,若函数返回0,则代表不是完全数,若返回1,则代表是完全数。

int IsPerfect(int x);

**要求输入提示信息为: \**要求输入格式为: \**要求输出格式为

\\

注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程,主函数不能使用int main和return 0。 答案:

#include int IsPerfect(int x); int main() {

int m;

printf(\ scanf(\ if (IsPerfect(m))

printf(\ else

printf(\}

int IsPerfect(int x) {

int i = 1,b = 0; for (i = 1;i < x;i++) if (x%i == 0) {

b = b + i; continue; } else

continue; if (b == x) return 1; else

return 0; }

---------------------10 11.

用函数编程计算两整数的最大值,在主函数中调用该函数计算并输出从键盘任意输入的两整数的最大值。

**输入格式要求:\提示信息:\**输出格式要求:\程序运行示例如下: Input a,b:5,8 max = 8 答案:

#include int max(int a, int b)

{

if(a >= b) return a; else

return b; } main() {

int a = 0,b = 0; printf(\ scanf(\

printf(\}

---------------------------11 12.

利用求阶乘函数Fact(),编程计算并输出1! + 2! + …+ n!的值。 **输入格式要求:\提示信息:\**输出格式要求:\答案:

#include int sum_s(int i); main() {

unsigned int n = 0; unsigned long b = 0; printf(\ scanf(\ for (b;n;n--) {

b = b +sum_s(n); }

printf(\}

int sum_s(int i) {

int a;

for(a = 1;i;i--) {

if (i > 1) a = a * i; else

a = a * 1; }

return a;