while(1) {
x++;
if(x%2==1) if(x%3==2) if(x%5==4) if(x%6==5) if(x%7==0) {
printf(\ break; } }
getch();
}
17.输入一个3位数,判断是否是一个“水仙花数”。水仙花数是指3位数的各位数字的立方和等于这个3位数本身。例如,153=1*1*1+5*5*5+3*3*3 main() {
int x,a,b,c;
printf(\
scanf(\
a=x/100; /*变量a中记录x的百位数字*/ b=x/10; /*变量b中记录x的十位数字*/ c=x; /*变量c中记录x的个位数字*/ if(a*a*a+b*b*b+c*c*c==x) {
printf(\ printf(\ }
else
printf(\ getch(); }
18.计算斐波那契分数序列前n项之和(n是某个常数,波那契分数序列为2/1,3/2,5/3,8/5,...)。 main()
{
int i,n=10;
float f1=1,f2=2,f,sum=0; for(i=0;i sum+=f2/f1; f=f1+f2; f1=f2; f2=f; } printf(\ getch(); } 19.输入一个正整数,各输出n行的正(倒)三角形宝塔图案。 main() { int n,i,j; printf(\ scanf(\ for(i=0;i for(j=i+1;j for(i=0;i { for(j=0;j getch(); } 20.输出九九表。 main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf(\ printf(\ } getch(); } 21.输入一串字符,直到输入一个星号为止,统计(输出)其中的正整数和负整数个数以及所有正整数的平均值和所有负整数的平均值。 #include\#include\main() { char ch; int x=0,y=1,f=0,pcnt=0,ncnt=0; float psum=0,nsum=0; while((ch=getchar())!='*') { if(ch=='-') { if(x!=0) { if(f==1) { x=-x; nsum+=x; ncnt++; } else { psum+=x; pcnt++; } printf(\ } f=1;x=0;y=1; continue; } else if(ch>='0'&&ch<='9') { x=10*x+ch-'0'; y=10*y; if(x!=0&&10*x if(x!=0) { if(f==1) { x=-x; nsum+=x; ncnt++; } else { psum+=x; pcnt++; } printf(\ } f=0;x=0;y=1; continue; } } if(x!=0) { if(f==1) { x=-x; nsum+=x; ncnt++; } else { psum+=x; pcnt++; } printf(\ } printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ getch(); } 22.一个整数等于该数所有因子之和,则称该数是一个完数。例如,6和28都是完数。因为6=1+2+3,28=1+2+4+7+14。输出3位数中所有的完数。 main() { int k1, k2, k3, k4, k5, k6, k7, k8, k9, k10; int i,a,n,s; for (a = 100; a <= 999; a++) { n = 0; /* n累计因子的个数 */ s = a; /* s存放未求出的因子之和,初值为被测数本身 */ for (i = 1; i < a; i++) if (a % i == 0) /* 由i到a循环检测i是否为a的因子 */ { n++; /* 找到一个因子 */ s = s - i; /* 减去已找到的因子 */ switch (n) /* 将找到的因子赋绐k1, k2, ... */ { case 1 : k1 = i; break; case 2 : k2 = i; break; case 3 : k3 = i; break; case 4 : k4 = i; break; case 5 : k5 = i; break; case 6 : k6 = i; break; case 7 : k7 = i; break; case 8 : k8 = i; break; case 9 : k9 = i; break; case 10 : k10 = i; break; } } if (s == 0) /* 已经找到全部因子 */ { printf(\ if (n > 1) printf(\表示a至少有2个因子 */ if (n > 2) printf(\注意以下if的用法,追加的方法 */ if (n > 3) printf(\ if (n > 4) printf(\ if (n > 5) printf(\ if (n > 6) printf(\ if (n > 7) printf(\ if (n > 8) printf(\ if (n > 9) printf(\ printf(\ } } getch(); } 23.编写程序按下列公式计算e的值(精度为1e-6)。 e=1+1/1!+1/2!+1/3!...+1/n! main() { int i; double e=0,t=1; for(i=1;t>0.000001;i++) {