下列程序的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;该整数既是完全平方数,又有两个数字相同,例如144、676等。 请编制函数jsValue()实现此功能,满足该条件的整数的个数是通过所编制的函数返回。 最后调用函数writeDat()把结果输出到文件out7.dat中。 请勿改动主函数main()和写函数writeDat的内容。#includejsValue(int bb[]) { } main() { int b[20],num; num=jsValue(b); writeDat(num,b); clrscr(); } writeDat(int num,int b[]) { FILE *out; int i; out=fopen("out7.dat","w"); printf("%d\n",num); fprintf(out,"%d\n",num); for(i=0;i{printf("%d\n",b); fprintf(out,"%d\n",b);} fclose(out); } 【答案】 jsValue(int bb[]) { int i,j,k=0; int hun,ten,data; for(i=100;i<=999;i++) { j=10; while(j*j<=i) { if(i==j*j) { hun=i/100;data=i-hun*100; ten=data/10;data=data-ten*10; if(hun==ten||hun==data||ten==data) {bb[k]=i;k++;} } j++; } } return k;
|