四、程序填空(每空2分,共16分) 1.下面程序的功能是输出1至100之间每位数字的乘积大于每位数字的和的数。例如 数56(积为30,和为11)。请在下列程序的空格处填上适当的内容。 #include main() { int n,k=1,s=0,m; for(n=1;n<=100;____) { k=1;s=0; ____; while(m!=0) { k*=m%10; s______; m=m/10; } if(k>s)printf(“%d",n); } } 2.用gets()函数从键盘上输入一个字符串,若该字符串是回文,则输出yes,否则输 出no,(若字符串正读与反读一样,是回文。如“abccba”,"aba"是回文)请在下列程序的空 格处填上适当的内容。 #include "string.h" main() { char s[81],answer; int i,j; answer='y'; gets(s); j=strlen(s)-1; for(i=0;iif(s[i]!=s[j]) { answer=‘n';break;} if(answer==‘n’) printf(“no"); ______; } 3.下列程序建立一个按以下格式输出的二维数组 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 请在程序的空格处填上适当的内容。 main() { int a[s][s],i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=______; for(i=0;i<5;i++) { a[i][i]=1; ______; } for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%3d",a[i][j]); ______; } } 五、编程题(10分) 输出fibonacci数列1,1,2,3,5,8,13…的前42个数。(fibonacci数列的规律是:前两个数是1,第三个数开始是前两个数之和)要求在屏幕上每行输出6个数。
|