下列程序的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat()把结果输出到文件out.dat中。请勿改动主函数main()和写函数writeDat()的内容。
#include
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
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;
s=i/10;
b=i/100;
if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s//s==b//b==g))
bb[k++]=i;
}
return k;
}
int jsvalue(int bb[])
{
int i,k=0;
for(i=100;i<=999;i++)
if((int)sqrt(i)*(int)sqrt(i)==i && (i/100==i || i/100==i/10 || i/10==i))
bb[k++]=i;
return k;
}
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |