Res - 2009春学期C语言上机练习参考答案汇总(5)

2019-04-23 22:33

C程序设计 2009春学期 上机练习M2-M8参考答案

result:

496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248

#include int main(void) { int factor, m, n, number, sum; int repeat, ri; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ printf(\ for (number=m;number<=n;number++) sum=1; for { 8 (in=8) 输出 2 3 4 5 6 6 0 0 8

#include int main(void) { int digit, in, power, temp, k; int repeat, ri; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ if (sum==number) { printf(\for printf(\ printf(\ power=in; while(temp>0) /* temp是控制循环次数 */ { temp --; k = k/10; digit = power / k; power = power % k; /* power向右 if(in<0) in=-in; power=in; (factor=2;factor<=number/2;factor++) if sum=sum+factor; (numberúctor==0) temp=0; k = 1; while(power>0) { } power=power/10; temp++; k = k * 10; (factor=2;factor

} } printf(\ 40027 从高位开始逐位输出一个整数的各位数字(选作) 输入一个正整数repeat (0

输入一个整数 in,从高位开始逐位分割并输出它的各位数字。

输出使用语句:printf(\输入输出示例:括号内为说明 输入

3 (repeat=3) 23456 (in=23456) -600 (in=-600)

推进 */ } return 0; }

40052 判断素数

printf(\ } printf(\ 21

C程序设计 2009春学期 上机练习M2-M8参考答案

输入一个正整数n,再输入n个正整数,判断它们是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

输出使用以下语句:

printf(\printf(\输入输出示例:括号内为说明 输入 4

1 2 9 17 输出

1 is'nt a prime 2 is a prime 9 is'nt a prime 17 is a prime #include #include int main(void) { int flag, i, j, k, m, n; scanf(\ for(i=1;i<=n;i++){ scanf(\if(m==1) printf(\else { k=sqrt(m); for(j=2;j<=k;j++) if(m%j==0) { printf(\is'nt a (n=4)

输入一个正整数repeat (0

输入一个整数 in,将其逆序输出。假设正数和负数逆序输出的结果一样。

输出使用语句 printf(\输入输出示例:括号内为说明 输入

2 (repeat=2) 200 (in=200) -12345 (in=-12345) 输出 0 0 2 5 4 3 2 1 #include int main(void) { int digit, x; int repeat, ri; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf (\x); if(x<0) x=-x; while(x!=0){ } digit=x; printf(\x=x/10; printf(\ } prime\\n\ } } if(j>k) break; }

40054 输出斐波那契序列

输入一个正整数 n(1

1 1 2 3 5 8 13 21 34 55

printf(\} return 0; }

40053 逆序输出整数

22

C程序设计 2009春学期 上机练习M2-M8参考答案

#include int main(void) { int i, n, x1, x2, x; scanf(\ x1 = 1; x2 = 1; printf (\ }

第7周(M7)

50002 使用函数判断数的符号

输入一个正整数 repeat (0

输入1个整数 x,若 x 大于0,sign(x) = 1;若 x 等于0,sign(x) = 0;否则,sign(x) = -1,最后输出sign(x)的值。 要求定义和调用函数sign(x)实现该分段函数, 函数形参x的类型是int,函数类型是int。 输入输出示例:括号内是说明 输入

3 (repeat=3) 10 (x=10) -5 (x=-5) 0 (x=0) 输出

sign(10) = 1 (x=10时sign(x)的值为1) sign(-5) = -1 (x=-5时sign(x)的值为-1) sign(0) = 0 (x=0时sign(x)的值为0) ①

for(i=1;i<=n-2;i++){ } return 0; x=x1+x2; printf(\ x1=x2; x2=x; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\x); y=sign(x); printf(\ } } int sign(int x) { int t=0; if(x<0) t=-1; else if(x==0) t=0; else t=1; return t; }

50003 使用函数求奇数和

输入一个正整数repeat (0

输入一批正整数(以零或负数为结束标志),求其中的奇数和。

要求定义和调用函数even(n) 判断数的奇偶性,当n为偶数时返回1,否则返回0,函数形参n的类型是int,函数类型是int。

输入输出示例:括号内是说明 输入

2 (repeat=2) 12 9 7 18 3 11 20 0 11 8 6 17 2 10 19 -1 输出

The sum of the odd numbers is 30. The sum of the odd numbers is 47.

#include int even(int n); int main(void) { int n, sum; int ri, repeat; scanf(\ for(ri = 1; ri <= repeat; ri++){ sum=0; #include int sign(int x); int main(void) { int x, y; int repeat, ri; 23

C程序设计 2009春学期 上机练习M2-M8参考答案

scanf(\ while (n>0){ if (even(n)==0) sum=sum+n; scanf(\} sum); } } int even(int n) { int t; }

50005 使用函数统计素数并求和

输入一个正整数 repeat (0

输入2个正整数 m 和 n(1<=m,n<=500),统计并输出 m 到 n 之间的素数的个数以及这些素数的和。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

要求定义并调用函数 prime(m) 判断m是否为素数,当m为素数时返回1,否则返回0,函数形参 m 的类型是int,函数类型是int。

输入输出示例:括号内是说明 输入: 1 1 10 输出:

Count = 4, sum = 17 (1到10之间有4个素数:2,3,5,7)

#include \#include \int main(void) { int count, i, m, n, sum; int repeat, ri; int prime(int m);

(repeat=1) (m=1, n=10)

if (n%2==0) else t=0; return t; t=1; printf(\sum of the odd numbers is %d.\\n\ scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\n); sum=0; count=0; if (m==1) m++; /* 若第一个数是1, 可直接判定下一个数 */ for(i=m;i<=n;i++){ if(prime(i)==1){ sum=sum+i; count++; } } } } int prime(int m) { int t, limit, result; result=1; /* 初始假设结果是素数 */ for ( t=2; t <= m-1; t++) if (m%t == 0) { result=0; /* 不是素数跳出循环 */ break; } return result; }

50006 使用函数统计一个整数中数字的个数

输入一个正整数 repeat (0

读入1 个整数in,再输入一个数字digit(0≤digit<10),统计并输出整数 in 中数字 digit 的个数。

要求定义并调用函数countdigit(number,digit),它的功能是统计整数 number 中数字 digit 的个数 ,函数形参number和digit的类型是int,函数类型是int。例如,countdigit(10090,0)的返回值是3。 输入输出示例:括号内是说明 输入

2 (repeat=2)

21252 2 (number=21252, digit=2) -1111 9 (number=-1111, digit=9) 输出

printf(\ 24

C程序设计 2009春学期 上机练习M2-M8参考答案

Number 21252 of digit 2: 3 (21252中有3个2) Number -1111 of digit 9: 0 (-1111中有0个9)

#include \int main(void) { int count, digit, in; int repeat, ri; int countdigit(int number, int digit); scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ count=countdigit(in,digit); 100 400 (m=100, n=400) 1 100 (m=1, n=100) 输出:

result: (100 到400之间的水仙花数) 153 (1*1*1+5*5*5+3*3*3=153) 370 (3*3*3+7*7*7=370) 371 (3*3*3+7*7*7+1*1*1=371) result: (1到100之间的水仙花数) 1 #include \int main(void) { int i, m, n; (1*1*1=1) printf(\ int repeat, ri; } } int countdigit(int number,int digit) { int c,t; c=0; if(number<0) int is(int number); scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ printf(\ number=-number; /* 这里若没将负数转成正数,判断就会出错 for (i=m;i<=n;i++) { */ while (number!=0){ t=number; number=number/10; if(t==digit) c++; } return c; } 50007 使用函数找水仙花数 输入一个正整数 repeat (0

2 (repeat=2)

}

50009 使用函数求余弦函数的近似值 } } int is(int number) { int sum,res,t,j; } if(sum!=number) res=0; return res; res=1; sum=0; j=number; while (j!=0) { t=j; j=j/10; sum=sum+t*t*t; if(is(i)==1) printf(\} 25


Res - 2009春学期C语言上机练习参考答案汇总(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:单元评价检测(二)(第二单元 生物体的结构层次)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: