求优美和。在等式 a+b=c(a 中,若数字0~9 在 a,b,c 三个数中均出现一次,且只出现一次,那么这样的等式称为优美和。 如 56+1987=2043 。设计函数求出和小于 10000 的所有优美和。 提示: a 为 2 位数或 3 位数, b 为 3 位数或 4 位数。 编写程序: ( 1 )编写 int fun(int yms[][3]) 函数 , 求出优美和 , 存入数组 yms 中 , 函数返回优美和的个数。其中 yms[][0] 存放 a,yms[][1] 存放 b, yms[][2] 存放 c 。 ( 2 )编写 void print() 函数,以“ 56+1987=2043 ”形式输出所有优美和。 #include int fun(int yms[][3]){ int t[3],k,p[10],a,n=0,y,x; for(t[0]=12;t[0]<=987;t[0]++) for(t[1]=102; 【 1 】 ;t[1]++) { t[2]= 【 2 】 ; for(a=0;a<10;a++) p[a]=0; for(k=0;k<3;k++) {y=t[k]; while(y>0) {x=y%10; 【 3 】 ; y/=10;} for(a=0;a<10;a++) if( 【 4 】 ) break; if( 【 5 】 ]) {yms[n][0]=t[0];yms[n][1]=t[1]; 【 6 】 ;} } } return n; } void print(int yms[][3],int n) { int i; for(i=0;i printf("%d+%d=%d\n",yms[i][0],yms[i][1],yms[i][2]); } int main() { int yms[100][3],n; n=fun(yms); print(yms,n); return 0; }