C语言编程:使用三重循环构造无重复数字的三位数

需积分: 0 2 下载量 131 浏览量 更新于2024-12-21 收藏 285KB DOC 举报
这篇资源主要包含了两个C语言编程实例,适合初学者学习。第一个实例是关于用数字1、2、3、4组成不同的三位数的问题,第二个实例涉及根据利润计算奖金的算法。 【程序1】详解: 这是一个组合问题,目标是找出所有由1、2、3、4组成的无重复数字的三位数。程序通过三重循环实现,每个数字可以作为百位、十位或个位。循环变量i、j、k分别代表这三个位置,从1到4遍历。`if (i!=k&&i!=j&&j!=k)`语句用于检查当前组合是否符合互不相同的条件,如果满足,就打印这个组合。 源代码中的主函数`main()`中,外层的`for(i=1;i<5;i++)`循环控制百位数字,接下来的两层循环`for(j=1;j<5;j++)`和`for(k=1;k<5;k++)`分别控制十位和个位。由于数组从0开始,所以循环条件设置为小于5,实际上遍历的是1到4这四个数字。 【程序2】详解: 此程序是根据利润计算奖金的算法,奖金根据利润的不同区间有不同的提成比例。利润区间及对应提成比例如下: - 低于或等于10万元:10% - 10万到20万:10%提成10万元,超出部分7.5% - 20万到40万:20万提成5% - 40万到60万:40万提成3% - 60万到100万:60万提成1.5% - 超过100万:超出部分1% 程序首先定义了不同利润区间的奖金变量,然后通过`scanf()`函数读取输入的利润值`i`。接着根据利润`i`的大小,通过一系列的`if-else`语句判断利润所在的区间,并计算对应的奖金总额`bonus`。 例如,如果利润`i`在100000到200000之间,那么奖金`bonus`等于基础的10%提成100000元加上超出10万部分的7.5%提成。 这两个实例涵盖了基本的C语言控制结构(如循环和条件判断)、输入输出操作(如`printf`和`scanf`)以及逻辑运算(如判断与赋值),是初学者理解和掌握C语言编程的很好实践。通过这两个实例,初学者可以了解到如何通过编程解决实际问题,并加深对循环、条件判断等基本概念的理解。