【C语言】上机题的问题……

来源:百度知道 编辑:UC知道 时间:2024/05/19 17:33:49
用的是考试的模拟光盘,有一个题:

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

#include <stdio.h>

int jsValue(int bb[])
{

}

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

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

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

它的答案是:
{ int i,a,d,e,c,p; /*定义局部变量*/
p=0;
for(i=10;i<32;i++) /*设置循环起始值和终止值*/
{ a=i*i; /*设定检查的数是平方数*/
if(a>=100&&a<

注意:他的自减是在return语句执行后才自减 的,因此自减可以不要,结果同样是对的

1

for(int i=100;i<=999;i++)
for(int j=2;j<i/2;j++)
if(j*j==i)
if((i/100==i/10)%(10||i/100==i%10)||(i/10%10==i%10))
a[k++]=i;

return k;;

你的n是不要减的。