第一篇:c語言編程題答案
六、編程題參考答案
1.編程,統(tǒng)計在所輸入的50個實數(shù)中有多少個正數(shù)、多少個負(fù)數(shù)、多少個零。#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(“負(fù)數(shù)%u個,零%u個,正數(shù)%u個n”,s1,s2,s3);}
2.編程,計算并輸出方程 X2+Y2=1989 的所有整數(shù)解。#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=%dn”,x,x,y,y,1989);y++;} } }
3.編程,輸入一個10進(jìn)制正整數(shù),然后輸出它所對應(yīng)的八進(jìn)制、十六進(jìn)制數(shù)。#include “stdio.h” void main(){ unsigned int x;printf(“請輸入一個十進(jìn)制正整數(shù):”);scanf(“%u”,&x);printf(“%d=八進(jìn)制數(shù) %o=十六進(jìn)制數(shù)%xn”,x,x,x);}
4.編程,找出1000以內(nèi)的所有完數(shù),并輸出其因子。#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 是完數(shù)則輸出其各因子
for(j=2;j<=i/2;j++)if(i%j==0)printf(“+%d”,j);printf(“n”);} } }
5.輸入一個正整數(shù),輸出它的所有質(zhì)數(shù)因子。#include “stdio.h” void main(){ int m,i=2;printf(“請輸入一個整數(shù):”);scanf(“%d”,&m);while(m!=1)if(m%i==0){ printf(“%d ”,i);m/=i;} else i++;printf(“n”);}
6.輸入20個整數(shù),輸出其中能被數(shù)組中其它元素整除的那些數(shù)組元素。#include “stdio.h” #define N 20 void main(){ int a[N],i,j;for(i=0;i 7.輸入兩個數(shù)組(數(shù)組元素個數(shù)自定),輸出在兩個數(shù)組中都出現(xiàn)的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i 8.輸入兩個數(shù)組(數(shù)組元素個數(shù)自定),輸出在兩個數(shù)組中都不出現(xiàn)的元素。#include “stdio.h” #define NA 6 #define NB 8 void main(){ float a[NA],b[NB];int i,j;for(i=0;i 9.編程,將字符數(shù)組S2中的全部字符拷貝到字符數(shù)組S1中。#include “stdio.h” void main(){ char s1[20],s2[]=“Good morning!”;int i=0;while((s1[i++]=s2[i])!='