您的位置:首页 > 其它

C经典程序100例之001

2008-10-08 23:53 417 查看
/*

*题目:有1、2、3、4个数字

*能组成多少个互不相同且无重复数字的三位数?

*都是多少?

*

*解读:

*用1、2、3、4挑出3个组成一个三位数

*且组成这个三位数的数字是各不相等的

*统计出个数 ,并都打印出来

*/

#include <stdio.h>

//#define ALL_NUM /* 启用此句,就可以看到所有的三位数 */

int main()

{

int i,j,k;

int total = 0;

printf("/n");

for(i=1;i<5;i++)

{

for(j=1;j<5;j++)

for(k=1;k<5;k++)

#ifdef ALL_NUM

{

printf("%d,",i*100+j*10+k);

total++;

}

#else

if(i!=j&&j!=k&&k!=i)

{

printf("%d,",i*100+j*10+k);

total++;

}

#endif

printf("/n");

}

printf("total = %d",total);

getch();

}

此程序并不完全符合题目,应该是先统计出个数,再打印出来他们是哪些

所以考虑用数组
先将他们存入数组,然后在打印出来了
先定义数组:
int num[100];
int m;
然后将
printf("%d,",i*100+j*10+k);
替换为
num[total] = i*100+j*10+k;

在输出个数后,把数组打印出来
for(m=0;m<total;m++)
printf("%d,",num[m]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: