C语言求10000以内的自守数,二级c语言优美数程序肿么写好?求程序段。求高手。...

#include

#include

#define N 10000

int yms[10000][3],cnt,visit[10];//cnt用于记录个数

int cheak(int a,int b)

{

int c,i;

c=a+b;

if(c>10000)

return 0;

memset(visit,0,sizeof(visit));

while(a)

{

if(visit[a%10])

return 0;

visit[a%10]=1;

a=a/10;

}

while(b)

{

if(visit[b%10])

return 0;

visit[b%10]=1;

b=b/10;

}

while(c)

{

if(visit[c%10])

return 0;

visit[c%10]=1;

c=c/10;

}

for(i=0;i<10;i++)

if(visit[i]==0)

return 0;

return 1;

}

int fun()

{

int a,b;

cnt=0;

for(a=10;a<=99;a++)

for(b=100;b<=9999;b++)

{

if(cheak(a,b))

{

yms[cnt][0]=a;

yms[cnt][1]=b;

yms[cnt][2]=a+b;

cnt++;

}

}

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

for(b=100;b<=9999;b++)

{

if(cheak(a,b))

{

yms[cnt][0]=a;

yms[cnt][1]=b;

yms[cnt][2]=a+b;

cnt++;

}

}

return cnt;

}

void print()

{

int i;

for(i=0;i

{

printf("%d+%d=%d\n",yms[i][0],yms[i][1],yms[i][2]);

}

}

int main()

{

fun();

print();

return 0;

}

取消

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值