c语言编程题答案.doc
上传人:17****21 上传时间:2024-09-09 格式:DOC 页数:28 大小:89KB 金币:5 举报 版权申诉
预览加载中,请您耐心等待几秒...

c语言编程题答案.doc

c语言编程题答案.doc

预览

免费试读已结束,剩余 18 页请下载文档后查看

5 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

/NUMPAGES28六、编程题参考答案1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。#include"stdio.h"#defineN50voidmain(){floatx;unsignedints1,s2,s3,i;s1=s2=s3=0;for(i=1;i<=N;i++){scanf("%f",&x);if(x<0)s1++;elseif(x==0)s2++;elses3++;}printf("负数%u个,零%u个,正数%u个\n",s1,s2,s3);}2.编程,计算并输出方程X2+Y2=1989的所有整数解。#include"stdio.h"voidmain(){intx,y;for(x=-45;x<=45;x++){y=-45;while(y<=45){if(x*x+y*y==1989)printf("%d*%d+%d*%d=%d\n",x,x,y,y,1989);y++;}}}3.编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。#include"stdio.h"voidmain(){unsignedintx;printf("请输入一个十进制正整数:");scanf("%u",&x);printf("%d=八进制数%o=十六进制数%x\n",x,x,x);}4.编程,找出1000以的所有完数,并输出其因子。#include"stdio.h"voidmain(){inti,j,s=1;for(i=1;i<=1000;i++,s=1){for(j=2;j<=i/2;j++)if(i%j==0)s+=j;//求i的因子和if(s==i){printf("%d=1",i);//如果i是完数则输出其各因子for(j=2;j<=i/2;j++)if(i%j==0)printf("+%d",j);printf("\n");}}}5.输入一个正整数,输出它的所有质数因子。#include"stdio.h"voidmain(){intm,i=2;printf("请输入一个整数:");scanf("%d",&m);while(m!=1)if(m%i==0){printf("%d",i);m/=i;}elsei++;printf("\n");}6.输入20个整数,输出其中能被数组中其它元素整除的那些数组元素。#include"stdio.h"#defineN20voidmain(){inta[N],i,j;for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N;i++)for(j=0;j<N;j++)if(a[i]%a[j]==0&&i!=j){printf("%d\n",a[i]);break;}}7.输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素。#include"stdio.h"#defineNA6#defineNB8voidmain(){floata[NA],b[NB];inti,j;for(i=0;i<NA;i++)scanf("%f",&a[i]);for(i=0;i<NB;i++)scanf("%f",&b[i]);for(i=0;i<NA;i++)for(j=0;j<NB;j++)if(a[i]==b[j]){printf("%f\n",a[i]);break;}}8.输入两个数组(数组元素个数自定),输出在两个数组中都不出现的元素。#include"stdio.h"#defineNA6#defineNB8voidmain(){floata[NA],b[NB];inti,j;for(i=0;i<NA;i++)scanf("%f",&a[i]);for(i=0;i<NB;i++)scanf("%f",&b[i]);for(i=0;i<NA;i++){for(j=0;j<NB;j++)if(a[i]==b[j])break;if(j==NB)printf("%f",a[i]);}printf("\n");for(i=0;i<NB;i++){for(j=0;j<NA;j++)if(b[i]==a[j])break;if(j==NA)printf("%f",b[i]);}printf("\n");}9.编程,将字符数组S2中的全部字符拷贝到字符数组S1中。#include"stdio.h"voidmain(){chars1[20],s2[]="Goodmorning!";inti=0;while((s1[i++]=s