用C语言编程:随便输入四个一位数,用这四个数排成一个互不相同且无重复数字的三位数的所有情况

如题所述

int i,j,k;
int t[4]={0};
scanf(",&t[0],&[1],&t[2],&t[3]“);//输入四个一位数,不要重复
for(i=0;i<4;i++)//控制每位的数字是输入的四个数字中的一个,且各不相同
for(j=0;j<4;i++)
for(k=0;k<4;i++)
if(i!=j&&i!=k&&j!=k)
printf("%d\n",t[i]*100+t[j]*10+t[k]);//打印
自己加个函数头就行了。追问

编译木有错误,可是执行不起来。。。

追答

之前的只是思想,错误好多的。。。。
我给你改好了,可以出结果。
#include "stdio.h"
void main()
{
int i,j,k,sum=0;
int t[4]={0};
scanf("%d %d %d %d",&t[0],&t[1],&t[2],&t[3]);//输入四个一位数,不要重复
for(i=0;i<4;i++)//控制每位的数字是输入的四个数字中的一个,且各不相同
for(j=0;j<4;j++)
for(k=0;k<4;k++)
if(i!=j&&i!=k&&j!=k)
{
printf("%d\n",t[i]*100+t[j]*10+t[k]);//打印
sum++;
}
printf("总共有%d种组合\n",sum);
}
输入格式:5 6 8 9 回车

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