支付申请:题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

来源:百度文库 编辑:高校问答 时间:2024/05/02 06:17:43
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
getch();
}
我这样写没错吧????为什么在WIN-TC里编译运行不停留画面呢??
system("Pause"); 我试了还是没用~

getch()
换成
system("Pause");

_______________________________
#include <stdio.h>
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
printf("%d%d%d\n",i,j,k);
}
system("Pause");
}

我试了好用,的确。不信你把我那段代码复制运行一下就知道。

用这个试试:
#include<stdio.h>
void main()
{
int a,b,c,d=0;
for(a=1;a<5;a++)
for(b=1;b<5;b++)
for(c=1;c<5;c++)
if(a!=b&&b!=c&&a!=c)
{
d++;
printf(\"%d%d%d \",a,b,c);
}
printf(\"\\n\");
printf(\"共有这样的数%d个\\n\",d);
}

应该在控制台模式下运行。

getch()位置不对

在我的WIN-TC上是能停留在画面的,可能你装的WIN-TC装的不全吧,建议你重新装一个试试。
还有建议把输出语句:
printf("%d,%d,%d\n",i,j,k);
改为:
printf("%d%d%d\n",i,j,k);

#include<stdio.h>
int num[4]={1,2,3,4};
int show[4]={0,0,0,0};

void Recurive(int i)
{
static cout=0;
if(cout ==3)
for(int j=0;j<4;j++)
if (show[j]!=0)
printf("%d",show[j]);
show[i]=num[i];
cout++;
Recurive(++i);
cout--;
show[i]=0;
Recurive(++i);
}

void main()
{
Recurive(0);
}