C语言答案-.pdf
《C语言答案-.pdf》由会员分享,可在线阅读,更多相关《C语言答案-.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言答案()?编程题1(2)键盘输入 10 个实型数,求其倒数的和并输出.参考答案#include"stdio.h"#include"math.h"main()int i;float a,sum=0;printf("Please input 10 number:");for(i=0;i<10;i+)scanf("%f",&a);sum+=1.0/a;printf("The result is:%fn",sum);2(3)键盘输入 10 个正实型数,求其方根的和并输出。参考答案#i
2、nclude"stdio.h"#include"math.h"main()int i;float a,sum=0;printf("Please input 10 number which are all great than 0:");for(i=0;i<10;i+)scanf("%f",&a);if(a<0)continue;sum+=sqrt(a);printf("The result is:%fn",sum);3(4)计算 s=1-2!+3!-4!+,-10!的值并输出
3、。参考答案#include"stdio.h"#include"math.h"main()int i;long sum=0,b=-1;for(i=1;i<=10;i+)b=-1*i*b;sum+=b;printf("The result is:%fn",sum);4(5)编写一个程序,从键盘输入一个三位整数,将它们逆序输出。例如输入 127,输出 721。参考答案#include"stdio.h"main()int num,a,b,c;printf("Please input the number:&
4、quot;);scanf("%d",&num);a=num/100;b=(num-100*a)/10;c=num-100*a-10*b;a+=b*10+c*100;printf("The result is%dn",a);5(7)打印出所有的“水仙花数”,所谓“水仙花数”是指一个 3 位数,其各位数字立方和等于该数本身。例如:153 是一水仙花数,因为153=13+53+33.参考答案main()int i,j,k,s;for(s=100;s<=999;s+)i=s/100;j=s/10%10;k=s-i*100-j*10;if(i*i*i
5、+j*j*j+k*k*k=s)printf("s=%dn",s);else continue;6(8)编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90 分以上为 A,8089分为 B,7079分为 C,6069分为 D,60 分以下为 E。参考答案#include"stdio.h"main()int a,b;printf("Please input the score:");scanf("%d",&a);b=a/10;switch(b)case 10:case 9:printf(&quo
6、t;A!n");break;case 8:printf("B!n");break;case 7:printf("C!n");break;case 6:printf("D!n");break;default:printf("E!n");break;7(9)计算 s=1-1/3+1/5-1/7+,1/101 的值并输出。参考答案main()int i,f=1;float sum=0.0;for(i=1;i<=101;i=i+2)sum=sum+1.0/i*f;f=(-1)*f;printf("
7、sum=%fn",sum);8(11)输入一个正整数,要求以相反的顺序输出该数。例如输入 12345,输出位 54321。参考答案main()int n;printf("Please enter n:");scanf("%d",&n);while(n>0)printf("%d",n%10);n=n/10;9(21)在主函数中输入 8 个整数,调用函数对其进行排序(从小到大),排序方法不限,最后在主函数中输出结果。参考答案#include"stdio.h"void main()int num8
8、,i;void taxis(int p,int);printf("Input 8 integers:n");for(i=0;i<8;i+)scanf("%d",num+i);taxis(num,8);printf("The result:n");for(i=0;i<8;i+)printf("%d,",numi);void taxis(int p,int n)int i,j;int code,temp;for(i=0;i<n-1;i+)code=i;for(j=i+1;j<n;j+)if(pj
9、<pcode)code=j;if(code!=i)temp=pi;pi=pcode;pcode=temp;10(41)从键盘输入十个整数,用合并排序法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。?参考答案?#define N 16?#include"stdio.h"?merge(a,b,c,m)/*数组合并函数:将长度为m的*/?int a,b,c,m;/*数组 a、b 合并到 c*/?int i=0,j=0,k=0;?while(i<m&&j<m)?if(ai>bj)?ck+=bj+;/*将 ai、*bj 中的小*/
10、else ck+=ai+;/*者存入 ck*/while(i<m)ck+=ai+;/*将 a 或 b 中剩余的数*/while(j<m)ck+=bj+;/*存入 c*/mergesort(w,n)/*数组排序函数:对长度为 n*/int w,n;/*的数组 w 排序*/int i,t,raN;for(i=1;i<n;i*=2);if(i=n)if(n>2)/*递归调用结束条件*/mergesort(w,n/2);/*将数组 w 一分为二,递归调*/mergesort(w+n/2,n/2);/*用 mergesort*/merge(w,w+n/2,ra,n/2);/*将排
11、序后的两数组重新合并*/for(i=0;i<n;i+)wi=rai;else if(*w>*(w+1)t=*w;*w=*(w+1);*(w+1)=t;else printf("Error:size of array is not a power of 2/n");main()int i;static int keyN=4,3,1,81,45,8,0,4,-9,26,7,4,2,9,1,-1;mergesort(key,N);for(i=0;i<N;i+)printf("%d",keyi);printf("n");11
12、(44)编写函数,采用递归方法将任一整数转换为二进制形式。参考答案turn(n,a,k)int n,a,k;if(n>0)ak=n%2;turn(n/2,a,k-1);else return;main()int i,n,a16=0;printf("nPlease enter n:");scanf("%d",&n);turn(n,a,15);for(i=0;i<16;i+)printf("%d",ai);12(45)编写函数,采用递归方法在屏幕上显示如下杨辉三角形:1 1 1 1 2 1 1 3 3 1 1 4 6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 答案
限制150内