第7題
下列程序的功能是:在三位整數(shù)(100至999)中尋找符合條件的整數(shù)并依次從小到大存入數(shù)組中;該整數(shù)既是完全平方數(shù),又有兩個數(shù)字相同,例如144、676等。
請編制函數(shù)jsValue()實現(xiàn)此功能,滿足該條件的整數(shù)的個數(shù)是通過所編制的函數(shù)返回。
最后調(diào)用函數(shù)writeDat()把結果輸出到文件out7.dat中。
請勿改動主函數(shù)main()和寫函數(shù)writeDat的內(nèi)容。
#include
jsValue(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[i]);
fprintf(out,"%d\n",b[i]);}
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++;
}
}
下列程序的功能是:在三位整數(shù)(100至999)中尋找符合條件的整數(shù)并依次從小到大存入數(shù)組中;該整數(shù)既是完全平方數(shù),又有兩個數(shù)字相同,例如144、676等。
請編制函數(shù)jsValue()實現(xiàn)此功能,滿足該條件的整數(shù)的個數(shù)是通過所編制的函數(shù)返回。
最后調(diào)用函數(shù)writeDat()把結果輸出到文件out7.dat中。
請勿改動主函數(shù)main()和寫函數(shù)writeDat的內(nèi)容。
#include
jsValue(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[i]);
fprintf(out,"%d\n",b[i]);}
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++;
}
}