16题
下列程序的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。
请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。
最后调用函数writeDat()把结果输出到文件out.dat中。
请勿改动主函数main()和写函数writeDat()的内容。
#include <stdio.h>

int jsValue(int bb[])
{

}

main
{
int b[20],num;
num=jsValue(b);
writeDat(num,b);
}

writeDat(int num,int b[])
{
FILE *out;
int i;

out=fopen("out.dat","w");
fprintf(out,"%d\n",num);
for(i=0;i<num;i++)printf(out,"%d\n",b[i]);
fclose(out);
}


注:注意在i==(int)sqrt(i)*(int)sqrt(i)中只有当i是完全平方数时开平方后再取整才
不会丢失任何数据。
int jsvalue(int bb[])
{
int i,j,k=0,g,s,b;
for(i=100;i<=999;i++)
{
g=i%10;
s=i/10%10;
b=i/100;
if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s||s==b||b==g))
bb[k++]=i;
}
return k;
}

 

返回南开百题目录

www.163164.cn 联系QQ:3149886