【程序设计】 --------------------------------------------------
功能:判断整数x是否是同构数。若是同构数,函数返回1; ? ? ? 否则返回0。x的值由主函数从键盘读入,要求不大 ? ? ? 于100。 说明:所谓"同构数"是指这样的数,这个数出现在它的 ? ? ? 平方数的右边。 例如:输入整数5,5的平方数是25,5是25中右侧的数,所 ? ? ? 以5是同构数。 ? ? ? 输入整数15,15的平方数是225,15不是225中右侧的数,所 ? ? ? 以15不是同构数。
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:判断整数x是否是同构数。若是同构数,函数返回1;
否则返回0。x的值由主函数从键盘读入,要求不大
于100。
说明:所谓"同构数"是指这样的数,这个数出现在它的
平方数的右边。
例如:输入整数5,5的平方数是25,5是25中右侧的数,所
以5是同构数。
输入整数15,15的平方数是225,15不是225中右侧的数,所
以15不是同构数。
------------------------------------------------*/
#include "stdio.h"
#include "stdlib.h"
int fun(int x)
{
/*********Begin**********/
int n=0,x1=x,t=1,i;
while(x1)
{
x1/=10;
n++;
}
for(i=0;i<n;i++)
t*=10;
if(x*x%t==x)
return 1;
else
return 0;
/********** End **********/
}
main()
{
int x,y;
void TestFunc();
printf("\nPlease enter a integer numbers:");
scanf("%d",&x);
if(x>100)
{
printf("data error!\n");
exit(0);
}
y=fun(x);
if(y)
printf("%d YES\n",x);
else
printf("%d NO\n",x);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int n,t;
/*int i[5];*/
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(t = 0 ; t < 5 ; t++)
{
fscanf(IN, "%d", &n) ;
o=fun(n);
fprintf(OUT, "%d\n",o ) ;
}
fclose(IN);
fclose(OUT);
}
|