c语言简单问题1
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include<stdio.h>
int main()
{
int a,b,c;
for(a=1;a<=4;a++)
{
for(b=1;b<=4;b++)
{
for(c=1;c<=4;c++)
{
if(a=!b&&a!=c&&b!=c)
{
printf("%d,%d,%d\n",a,b,c);
}
}
}
}
return 0;
}
编译成功,但是运行打印不出来。 朋友,第一个感叹号,应该在等号前面 #include<stdio.h>
int main()
{
int a,b,c;
for(a=1;a<=4;a++)
{
for(b=1;b<=4;b++)
{
for(c=1;c<=4;c++)
{
if((a != b) && ( a != c) && ( b != c )) //不能写成 a =!b
{
printf("%d,%d,%d\n",a,b,c);
}
}
}
}
return 0;
} 本帖最后由 傻眼貓咪 于 2021-11-26 19:39 编辑
代码:#include <stdio.h>
int main()
{
for(size_t a = 1; a <= 4; a++)
for(size_t b = 1; b <= 4; b++)
for(size_t c = 1; c <= 4; c++)
if((a != b) && (a != c) && (b != c)) printf("%ld ", a*100 + b*10 + c);
return 0;
}输出:123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432注:4 个不同数字,共 3 组比较(不等于符:!=):((a != b) && (a != c) && (b != c)) 用 next_permutation 最简单 if语句的条件,把a=!b改成a!=b就可以了
页:
[1]