C语言趣味小题

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:58:04
下列程序的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。最后调用函数writeDat()把结果输出到文件out.dat中。

#include<stdio.h>

int check(int i)
{ int j=i*i;
if(j/100==(j/10)%10 || j/100==j%10 || (j/10)%10==j%10 )
return j;
return 0;
}
void main()
{ int i,j;
for(i=11;i<32;i++)
{j=check(i);
if(j)printf("%d ",j);//write to file
}

}

#include <iostream.h>

bool f(int n);

void main()
{
int i;

for(i = 100; i < 1000; i++)
{
if(f(i))
{
cout << i << '\t';
}
}
}

bool f(int n)
{
int j;

for(j = 10; j < 33; j++)
{if(j * j == n)
{
if((n % 10 == (n % 100) / 10) || (n % 10 == n / 100) ||
((n % 100)/ 10 == n /100))
{
break;
}
}
}
if(j == 33)
{
return false;
}
if(j < 33)
{
return true;
}
}