C语言编写一个程序,真心求教:1.2.3.4四个数,能组合成多少个不同的三位数,都是多少?

要C语言(VC++6.0)的,完整版的,不是要结果。。。是要那个计算的程序,用多层循环做,真心求教还有个解题思路

将1234依次存入一个char型数组内,自定义一个全排列列函数进行4个数字的全排列运算,但每次输出时只取后3位即可达到目的。代码如下:

#include "stdio.h"
void myfun(char *p,int i,int n){//自定义全排列函数
int j,t;
if(i-n)
for(j=i;j<=n;j++){
t=p[i],p[i]=p[j],p[j]=t;
myfun(p,i+1,n);//全排列递归调用
t=p[i],p[i]=p[j],p[j]=t;
}
else
printf(++p[5]%10 ? "%s " : "%s\n",p+1);
}
int main(int argc,char *argv[]){
char a[6]="1234";//多声明一个元素a[5]用来控制每行输出10个数
myfun(a,0,3);//用数组名和起末下标调用
if(a[5]%5)
printf("\n");
return 0;
}

运行结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-22
没时间调试了……这样应该没错#include <stdio.h>int main (){int i,j,k,ans=0,f[5];for (i=1;i<=4;i++){//记录第一位f[i]=1;//标志这个数用过for (j=1;j<=4;j++){//记录第二位f[j]=1;for (k=1;k<=4;k++) if (f[i]==0) ans++;f[j]=0;}f[i]=0;}printf ("%d\n",ans);getchar ();return 0;}
第2个回答  2013-09-22
#include <stdio.h>
int main(int avgr,char* argc[])
{
int x1,x2,x3;
int muncount=0;
for(x1=1;x1<=4;x1++)
{
for(x2=1;x2<=4;x2++)
{
for(x3=1;x3<=4;x3++)
{
printf("%d%d%d\n",x1,x2,x3);
muncount+=1;
}
}
}
printf("总共有%d个\n",muncount);

}
无法解释解题思路
第3个回答  推荐于2018-02-20
#include<stdio.h> /* 头文件*/
int main(void) /*主函数*/{ int i,j,k,w=0; /*定义四个变量*/
for(i=1;i<=4;i++) /*一层循环*/{
for(j=1;j<=4;j++) /*二层循环*/{
if(i==j) /* if+continue 作用排除1至4中重复出现数字 */
continue; for(k=1;k<=4;k++) /* 三层循环-----完成三位数*/{
if(k==i || k==j) /* if 语句同理二循环中排除重复作用*/
continue;
w++; /* 每次完成三位数时 w变量加一*/
}
} }
printf("%d\n",w); /* 输出变量w次数*/
return 0; /* 返回一个0数值*/} 一楼你不应该歧视新手,而且你的代码是错误的,丢人,你看看你最后一个是444,一共就1 2 3 4 这四个数,你哪来的三个4,本来没好意思说你,给你狂的,谭浩强的书并不是好的,他只是局限于理论,建议多看看国外的c书,会受益匪浅!本回答被网友采纳
第4个回答  2013-09-22
#include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<5;i++){
for(j=1;j<5;j++){
for(k=1;k<5;k++){
if(i!=j&&i!=k&&j!=k)
printf("%d,%d,%d\n",i,j,k);
}
}
}
return 0;
}本回答被网友采纳

用1.2.3.4这四个数字(数字允许重复),可以组成多少个不同的三位数?
可以组成18个不同的三位数,用123三个数字可以组成6个不同的3位数:123, 132, 213, 231, 312,321。同理124, 234每个都能组成的6个不同的3位数。

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数...
1.2.3.4这四个数组成的三位数有:123.124.132.134.142.143.231.234.241.243.213.214.312.314.321.324.341.342.412.413.421.423.431.432。

四位数字组合有多少个
=4*3*2*1=24个。测算有多少种组合可以用排序组合的方式,比如2345可以组成24个四位数,这24个四位数分别是:5234、5243、5324、5342、5432、54232534、2543、2354、2345、2453、24353524、3542、3245、3254、3425、34524325、4352、4235、4253、4523、4532分两大类:1、4个不同数字中不包含0,那么就全...

求出1.2.3.4四个数,随意组成一个里面没有相同数字的三位数,总共有多少...
所以是4×3×2=24个

用1.2.3.4可以组成多少个三位数
三位数每一位都有1,2,3,4四中可能,所以是4*4*4=64个。没有重复

用1.2.3.4这四个数字可组成_个不同的三位数?
123 124 134 142 143 234 231 241 243 312 314 321 324 341 342 412 413 423一共这18个

用1.2.3.4可以组成多少个三位数
用1.2.3.4可以组成( 24 )个三位数 分别是:123、124、132、134、142、143、213、214、231、234、241、243 312、314、321、324、341、342 412、413、421、423、431、432 谢谢,请采纳

①用1.2.3.4可以组成多少个没有重复数字的三位数 ②用1.2.3.4可以组成...
楼主你好!1.有4*3*2=24个 2.有4+4*3+4*3*2+4*3*2*1=64 分别由个位数4个,十位数12个 百位数 24个 、、3.有数为偶即可有两种情况2和4 3*2+3*2=12个 4.有3*3*2=18 百位数不能为0 5.有其实就是上题一半为9 ...

用1.2.3.4组成没有重复数字的三位数,能组成多少个偶数的三位数
可以组成8×8×8=512个三位数 可以组成8×8×4=256个三位偶数 可以组成4×7×6=168个没有重复数字的三位偶数 祝你开心

用1.2.3.4和小数点摆出多少个不同的小数
1234四个数字有24种组合方法 小数点放到不同的位置有三种方法 所以如果四个数字全部用上有24x3=72种方法

相似回答