C语言实例:组合三位数与计算奖金

需积分: 3 11 下载量 17 浏览量 更新于2025-01-03 收藏 38KB TXT 举报
"c语言实例教程,包含两个C语言编程示例。第一个示例展示了如何用C语言生成所有不重复的三位数组合,第二个示例则是一个计算奖金的程序,根据输入的销售额按不同比例计算奖金。" 1. C语言三位数组合生成 在C语言中,生成所有不重复的三位数涉及到数组和循环结构的应用。在这个例子中,使用了三层嵌套循环来遍历1到4这四个数字的所有可能组合,确保每个数字只出现一次。外层循环控制百位数,中间循环控制十位数,内层循环控制个位数。通过`if (i!=k&&i!=j&&j!=k)`语句来检查当前组合中的三个数字是否互不相同,如果互不相同,则打印出这个组合。 ```c 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); // 打印不重复的三位数 ``` 这个程序可以生成所有由1、2、3、4组成的不重复的三位数,如123、132、124等,共形成6×5×4=120种组合。 2. 销售额奖金计算程序 这个C程序用于根据输入的销售额计算对应的奖金。奖金比例随着销售额的不同而变化,具体规则如下: - 销售额低于10万时,奖金为销售额的10% - 销售额在10万到20万之间时,超出10万的部分按7.5%计算奖金 - 销售额在20万到40万之间时,超出20万的部分按5%计算奖金 - 销售额在40万到60万之间时,超出40万的部分按3%计算奖金 - 销售额在60万到100万之间时,超出60万的部分按1.5%计算奖金 - 销售额超过100万时,超出100万的部分按1%计算奖金 程序通过`if...elseif...else`语句判断输入销售额所在的区间,并根据区间内的奖金比例进行计算。 ```c for (i = 1; i < 100000; i++) // 假设的销售数据遍历,实际应输入销售额 { 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 if (i <= 1000000) bonus = bonus6 + (i - 600000) * 0.015; else bonus = bonus10 + (i - 1000000) * 0.01; printf("bonus=%ld", bonus); // 打印奖金 } ``` 这段代码可以根据输入的销售额计算出对应的奖金,并显示结果。在实际应用中,通常会要求用户输入销售额,而不是用循环模拟。 这两个实例展示了C语言的基本语法和逻辑控制结构,对于初学者来说是非常好的练习案例,有助于理解如何运用C语言解决问题。同时,它们也涵盖了条件判断、循环、数组以及基本的数学运算,这些都是C语言编程的基础。