C语言编程:组合无重复三位数与奖金计算

需积分: 0 3 下载量 9 浏览量 更新于2024-12-19 收藏 285KB DOC 举报
本文将介绍两个C语言实例程序,一个是用于计算用1、2、3、4四个数字组成的互不相同且无重复数字的三位数,另一个是计算根据利润提成的奖金总额。这两个实例旨在帮助读者理解C语言的逻辑控制和数值计算。 ### 【程序1】 这个程序的目标是列出所有可能的三位数组合,这些数字由1、2、3、4这四个数字组成,并且每个数字在每个数位上只出现一次。程序通过三重循环实现,依次遍历每个数位上的数字,同时使用一个`if`语句确保三个数位上的数字互不相同。具体步骤如下: 1. 初始化三个变量`i`, `j`, `k`作为三位数的百位、十位和个位。 2. 使用三层`for`循环,分别对每个数位进行遍历(1到4)。 3. 在每次循环中,检查`i`, `j`, `k`是否互不相同。如果互不相同,则打印出该三位数。 4. `printf`函数用于格式化输出结果,每个三位数之间以逗号分隔。 ```c #include <stdio.h> int 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) { printf("%d,%d,%d\n", i, j, k); } } } } return 0; } ``` ### 【程序2】 这个程序的目的是计算企业的奖金发放,根据利润的不同区间计算不同的提成比例。程序首先定义了不同利润区间的奖金计算方法,然后通过`if`和`elseif`语句结构来判断利润所在区间并计算奖金。具体实现包括: 1. 输入利润`I`,存储在一个长整型变量`i`中。 2. 分别计算每个利润区间的奖金基础值,例如`bonus1`代表10%提成的10万元奖金。 3. 使用一系列`if`和`elseif`语句,逐步确定利润`I`所在的区间,并计算相应提成。 4. 最后,计算出的奖金总额存储在变量`bonus`中。 ```c #include <stdio.h> #include <stdlib.h> int main() { long int i; int bonus1, bonus2, bonus4, bonus6, bonus10, bonus; scanf("%ld", &i); bonus1 = 100000 * 0.1; bonus2 = bonus1 + 100000 * 0.75; bonus4 = bonus2 + 200000 * 0.5; bonus6 = bonus4 + 200000 * 0.3; bonus10 = bonus6 + 400000 * 0.15; if(i <= 100000) { bonus = i * 0.1; } else if(i <= 200000) { bonus = bonus1 + (i - 100000) * 0.075; } else if(i <= 400000) { bonus = bonus2 + (i - 200000) * 0.05; } else if(i <= 600000) { bonus = bonus4 + (i - 400000) * 0.03; } else { // 其他区间计算... } printf("奖金总额为: %d元\n", bonus); return 0; } ``` 这两个实例展示了C语言中循环、条件判断、数学运算以及基本输入输出的功能,有助于初学者理解和掌握C语言的基本编程技巧。在实际编程中,可以针对不同的问题需求,灵活运用这些基础知识来编写高效、准确的程序。