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<10;i++)
scanf("%d",&a[i]);
for (i=0;i<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<5;i++)
scanf("%d",&a[i]);
for (i=0;i<5;i++)
{n=0;
for (j=1;j<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]);
}
}