#C语言学习笔记#组合不重复数字问题

//《C语言综合项目实战》项目六
//本项目是对已经排序并且输入好的数字进行组合不重复数字3位数。
//如果是对未排序好,并且没有输入的数字,且位数不限的,可先用排序方法进行排序好,并且根据数据下标进行调整。
#include<stdio.h>
int main() {
	int a[] = { 1,2,3,4};//声明整型数组a,里面的元素有1.2.3.4
	int b[4];//声明整型数组b,下标为4,存储排序的数字。
	int c, d, e;//声明整型变量c,d,e
	for (c = 0; c < 4; c++) {//for循环第一层,先将第一位数字固定。
		b[0] = a[c];//使第一位数字存储到b[0]中;
		for (d =0; d < 4; d++) {//for循环第二层,要确保第一位数字不与第二位数字一样
			if (b[0] !=a[d]) {    //if条件语句,使第一位数字不和第二位数字相同
				b[1] = a[d];     //使第二位数字存储到b[1]中。
				for (e = 0; e < 4; e++) {//for循环第三层,要确保第一位数字不与第二位数字一样。
					                        //并且第三位数字不与前两位一样。
					if (b[0] != a[e] && b[1] != a[e]) {//if条件语句,使上诉条件成立。
						b[2] = a[e];   //使第三位数字存储到b[2]中。
						printf("%d%d%d\n", b[0], b[1], b[2]);//将已经组合好的数字输出。
					}
				}
			}
		}
	}
	return 0;
}
//总结:本项目略为粗糙,通俗。可以从限定的条件推向不限定的条件,由小见大进行思考问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值