2020年C语言教科书答案,2020年c语言编程题答案.doc

六、编程题参考答案

1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。

#include "stdio.h"

#define N 50

void main()

{ float x; unsigned int s1,s2,s3,i;

s1=s2=s3=0;

for(i=1;i<=N;i++) {

scanf("%f",&x);

if(x<0) s1++; else if(x==0) s2++; else s3++;

}

printf("负数%u个,零%u个,正数%u个\n",s1,s2,s3);

}

?

2. 编程,计算并输出方程 X2+Y2=1989 的所有整数解。

#include "stdio.h"

void main()

{ int x,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"

void main()

{ unsigned int x;

printf("请输入一个十进制正整数:");

scanf("%u",&x);

printf("%d=八进制数 %o=十六进制数%x\n",x,x,x);

}

?

4.编程,找出1000以内的所有完数,并输出其因子。

#include "stdio.h"

void main()

{ int i,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"

void main()

{ int m,i=2;

printf("请输入一个整数:"); scanf("%d",&m);

while(m!=1) if(m%i==0){ printf("%d ",i); m/=i; } else i++;

printf("\n");

}

?

6. 输入20个整数,输出其中能被数组中其它元素整除的那些数组元素。

#include "stdio.h"

#define N 20

void main()

{ int a[N],i,j;

for(i=0;i

for(i=0;i

if(a[i]%a[j]==0&&i!=j) { printf("%d\n",a[i]); break; }

}

?

7. 输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素。

#include "stdio.h"

#define NA 6

#define NB 8

void main()

{ float a[NA],b[NB]; int i,j;

for(i=0;i

for(i=0;i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值