#include <stdio.h> int main() { int a,b,c; printf('请输入三个不同的数字:'); scanf("%d %d %d",&a, &b, &c); if (a == b || a == c || b == c){ printf('输入的数字有相同的数 \n'); return 0; } printf ('由这三个数字组成的三位数如下: \n'); printf ("%d%d%d\n", a, b, c); printf ("%d%d%d\n", a, c, b); printf ("%d%d%d\n", b, a, c); printf ("%d%d%d\n", b, c, a); printf ("%d%d%d\n", c, b, a); printf ("%d%d%d\n", c, a, b); return 0; }

用其他方法且不出现for内容:循环的方式,可以使用嵌套的if语句来实现:

#include <stdio.h> int main() { int a,b,c; printf('请输入三个不同的数字:'); scanf("%d %d %d",&a, &b, &c); if(a!=b && a!=c && b!=c){ if(a>b && a>c){ if(b>c){ printf("%d%d%d\n",a,b,c); printf("%d%d%d\n",a,c,b); printf("%d%d%d\n",b,a,c); printf("%d%d%d\n",b,c,a); printf("%d%d%d\n",c,b,a); printf("%d%d%d\n",c,a,b); } else{ printf("%d%d%d\n",a,c,b); printf("%d%d%d\n",a,b,c); printf("%d%d%d\n",c,a,b); printf("%d%d%d\n",c,b,a); printf("%d%d%d\n",b,c,a); printf("%d%d%d\n",b,a,c); } } else if(b>a && b>c){ if(a>c){ printf("%d%d%d\n",b,a,c); printf("%d%d%d\n",b,c,a); printf("%d%d%d\n",a,b,c); printf("%d%d%d\n",a,c,b); printf("%d%d%d\n",c,a,b); printf("%d%d%d\n",c,b,a); } else{ printf("%d%d%d\n",b,c,a); printf("%d%d%d\n",b,a,c); printf("%d%d%d\n",c,b,a); printf("%d%d%d\n",c,a,b); printf("%d%d%d\n",a,c,b); printf("%d%d%d\n",a,b,c); } } else{ if(a>b){ printf("%d%d%d\n",c,a,b); printf("%d%d%d\n",c,b,a); printf("%d%d%d\n",a,c,b); printf("%d%d%d\n",a,b,c); printf("%d%d%d\n",b,a,c); printf("%d%d%d\n",b,c,a); } else{ printf("%d%d%d\n",c,b,a); printf("%d%d%d\n",c,a,b); printf("%d%d%d\n",b,c,a); printf("%d%d%d\n",b,a,c); printf("%d%d%d\n",a,b,c); printf("%d%d%d\n",a,c,b); } } } else{ printf('输入的数字有相同的数 \n'); } return 0; }

C语言实现生成三位数排列组合 - 不使用循环

原文地址: https://www.cveoy.top/t/topic/oJZE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录