[2006年全国房价]2006年9月全国等级考试三级c语言上机题库(二十四)

试题集锦 2023-06-15 网络整理 可可

【shitiku.jxxyjl.com--试题集锦】

☆题目24(无忧id 16 完全平方数问题)

 

下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。

请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。

最后调用函数writedat()把结果输出到文件out.dat中。

请勿改动主函数main()和写函数writedat()的内容。

#include <stdio.h>

 

int 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%100/10; ten=i%10;

if(hun==ten||hun==data||ten==data) bb[k++]=i;

}

j++;

}

}

return k;

}

 

 

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");

printf("%d\n",num);

fprintf(out,"%d\n",num);

for(i=0;i<num;i++){printf("%d\n",b[i]);fprintf(out,"%d\n",b[i]);}

fclose(out);

}

 

另一解法:

int jsvalue(int bb[])

{int i,j,cnt=0,bw,sw,gw;

for(i=100;i<=999;i++)

{ bw=i/100; sw=i%100/10; gw=i%10;

for(j=10;j*j<=i;j++)

if(i==j*j&&(bw==sw||sw==gw||gw==bw)) bb[cnt++]=i;

}

return cnt;

}

本文来源:https://shitiku.jxxyjl.com/shitijijin2/27218.html

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计