|
C语言上机试题:7 1.题目:编一C程序,它能读入10个用空格隔开的整数n1,n2,…,n10,对于i=1,2,…10,执行:若ni是某个整数的平方,则输出yes,否则输出no。(注:可执行文件名为e7_1.exe)
程序设计: #include "math.h" main() {int a[9],i,j,n; printf("Please enter 10 number:\n"); for (i=0;i%26lt;10;i++) scanf("%d",%26amp;a[i]); for (i=0;i%26lt;10;i++) if (a[i]==1) printf("%d yes\n",a[i]); else {n=(int)(floor(sqrt(a[i]))); if (a[i]==n*n) printf("%d yes\n",a[i]); else printf("%d no\n",a[i]); } }
2.题目:编一C程序,它能读入由空格隔开的5个正整数,对每个正整数n,判断,若n是完全数(即n=d1+d2+..+dk,其中d1,d2,..dk是n的所有小于它的因子,如6的所有小于它的因子是1,2,3,6=1+2+3,即6是完全数),则输出yes,否则输出no。(注:可执行文件名为e7_2.exe)
程序设计: main() {int a[5],i,j,n; printf("Please enter 5 number:\n"); for (i=0;i%26lt;5;i++) scanf("%d",%26amp;a[i]); for (i=0;i%26lt;5;i++) {n=0; for (j=1;j%26lt;a[i];j++) if (a[i]%j==0) n+=j; if (n==a[i]) printf("%d yes\n",a[i]); else printf("%d no\n",a[i]); } }
3.题目:编一C程序,它能读入一个正整数n(n%26lt;10),然后输出如下图形:

程序设计: main() {static int a[20][20]; int n,i,j,k; printf("Please inter n="); scanf("%d",%26amp;n); printf("\n"); for (i=0;i%26lt;n;i++) {k=1; for (j=0;j%26lt;2*n-1;j++) {if (j%26gt;n-i-2) a[i][j]=i+1; if (k%26lt;=2*i+1+n-i-2) k++; else break; } } for (i=0;i%26lt;n;i++) for (j=0;j%26lt;2*n-1;j++) {if (a[i][j]==0) a[i][j]=' '; else a[i][j]+=48; } for (i=0;i%26lt;n;i++) {printf("\n"); for (j=0;j%26lt;2*n-1;j++) printf("%c",a[i][j]); } for (i=n-2;i%26gt;=0;i--) {printf("\n"); for (j=0;j%26lt;2*n-1;j++) printf("%c",a[i][j]); } printf("\n"); }
|