.. .
.. .
} }
if(flag==1)printf(\ }
printf(\
}
(2)以下程序的功能是输出下三角九九乘法表。
#include
for(i=1;i<= 9 ;i++) { for(j=1;j<= i ;j++)
printf(\ i*j );
printf(\ }
}
3.程序改错
(1)下列程序的功能是输出所有的“水仙花数”。所
谓“水仙花数”是指一个三位数,该数的各位数字立 方和等于该数本身的数。例如:153是一个“水仙 花数”,因为153=1
3
+5+3。
33
.. v .. .
.. .
.. .
#include
{ int x,s,a;
for(s=0,x=100;x<1000;s=0,x++)★
{ a=x;
while(a!=0)
{ s=s+(a)*(a)*(a);★
a=a/10; }
if(x==s) printf(\★
}
}
(2)以下程序的功能是输出1至1000之间的所有完数。
若一个整数等于该数的所有因子之和,则称该整数为完数。 #include
int s;
for(i=1;i<=999; i++)
{ s=1; ★ //s=0;
for(j=1;j .. v .. . .. . .. . if(s=i)printf(\★ //s==i } } 4.设计性实验 SY61.C main() { int i,j,k,n=0; /*i,j,k分别代表三位整数的百位,十位,个位.n代表个数*/ for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) if(i*i*i+j*j*j+k*k*k==1099) /*在所有组合中找出满足指定条件的*/ { printf(\ n++; if(n%5==0) printf(\ /*表示每行输出5个数*/ } } SY62.C #include .. v .. . .. . .. . main() { int i,j,k; for(i=1;i<=4;i++) /*上三角形有4行,每循环1次输出1行*/ { for(k=1;k<8-((2*i-1)/2);k++) /*该循环输出每行的空格.8用于调节偏离位置,可换成别的数(>=8)*/ printf(\ for(j=1;j<=2*i-1;j++) /*该循环输出每行的’*’字符*/ printf(\ putchar(’\\n’); /*换行*/ } for(i=3;i>=1;i--) /*下面为倒三角形,有3行*/ { for(k=1;k<8-((2*i-1)/2);k++) printf(\ for(j=1;j<=2*i-1;j++) printf(\ putchar(’\\n’); } } .. v .. . .. . .. . sy63.c main( ) { int n=1,score,t; scanf(\ while (score>=0&&n<=5) { n++; t=0; while(score!=0) { t=t+(score)*(score); score=score/10; } if(t==108) printf(\ scanf(\ } } SY64.C .. v .. .