C语言:1~9九个数字不重复组成3个三位数,使其2个之和等于第三个;以A+B=C形式输出所有情况,咋编?

如题所述

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

int a,b,c,u,v,w,x,y,z,r,s,t,k;

for(k=0,a=1;a<10;a++)

for(b=1;b<10;b++)

if(b!=a)

for(c=1;c<10;c++)

if(c-b && c-a)

for(u=1;u<10;u++)

if(u-c && u-b && u-a)

for(v=1;v<10;v++)

if(v-u && v-c && v-b && v-a)

for(w=1;w<10;w++)

if(w-v && w-u && w-c && w-b && w-a)

for(x=1;x<10;x++)

if(x-w && x-v && x-u && x-c && x-b && x-a)

for(y=1;y<10;y++)

if(y-x && y-w && y-v && y-u && y-c && y-b && y-a)

for(z=1;z<10;z++)

if(z-y && z-x && z-w && z-v && z-u && z-c && z-b && z-a

&& (r=a*100+b*10+c)+(s=u*100+v*10+w)==(t=x*100+y*10+z))

printf(++k%8 ? "%d+%d=%d   " : "%d+%d=%d\n",r,s,t);

if(k%8)

putchar('\n');

return 0;

}

温馨提示:答案为网友推荐,仅供参考
相似回答