排序:
用1~9组成3个三位数,abc,def,ghi,每个数字只使用一次,要求abc:def:hij=1:2:3.。按照“abc def hij”的格式输出所有解,每行一个解。
思路:
一开始想用枚举,然后发现不行,自己写了一个函数。函数求 abc , def , hij 的各个位上的数字是否有重复。 然后再利用枚举,求出符合条件的数字。
运行结果如下图所示:
#include <stdio.h>
int fc(int a,int b,int c){
int s[9]; //数组用来储存三个数字的9个数
int m=0;
int k[3]; //数组用来分别存三个三位数
k[0]=a,k[1]=b,k[2]=c;
for(int i=0;i<9;i++){
s[i]=k[m]%10;
k[m]=k[m]/10;
if(k[m]==0){
m++;
}
}
int t=1;
for(int i=0;i<9;i++){ //比较是否有重复
for(int j=i+1;j<9;j++){
if(s[i]==s[j]||s[i]==0){ //是否有0
t=0; //如果存在以上,则标记 t=0
}
}
}
if(t=