如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
/NUMPAGES28
六、编程题参考答案
1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。
#include"stdio.h"
#defineN50
voidmain()
{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"
#defineN20
voidmain()
{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
#defineNB8
voidmain()
{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
#defineNB8
voidmain()
{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
17****21
实名认证
内容提供者
最近下载