C语言编程实践:从100个经典例子到复杂逻辑解析

需积分: 9 14 下载量 152 浏览量 更新于2024-09-24 1 收藏 56KB TXT 举报
"C语言编程100个经典例子" 在学习C语言编程的过程中,实践是提升技能的关键。这里我们探讨两个具体的例子,分别是打印出所有可能的无重复数字的组合和计算不同工资等级的奖金。 1. 打印无重复数字的组合(如1,2,3) 这是一个典型的循环与条件判断的应用,用于生成3个数字的所有不重复组合。代码通过三层嵌套循环实现了这一目标,外层循环控制主数字i,中间层循环控制第二个数字j,内层循环控制第三个数字k。在内部,使用if语句检查当前的ijk组合是否不相同,如果满足条件则打印出来。这种技巧可以扩展到更多的数字,生成更多不重复的组合,对于理解和练习C语言的逻辑控制非常有帮助。 ```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. 计算不同工资等级的奖金(基于百分比计算) 这个例子涉及到了条件判断和简单的数学运算,用于计算根据工资额不同而变化的奖金。程序首先读取员工的工资,然后根据工资范围计算相应的奖金。每个工资范围对应一个固定的奖金比例,依次是10%,7.5%,5%,3%,1.5%,和1%。程序通过一系列if-elseif-else语句来确定工资所在的范围,并计算奖金。这对于理解C语言中的条件控制和数值运算非常有用。 ```c #include <stdio.h> int main() { long int salary; int bonus1, bonus2, bonus4, bonus6, bonus10, bonus; scanf("%ld", &salary); bonus1 = 100000 * 0.1; // 10%奖金 bonus2 = bonus1 + 100000 * 0.75; // 10% + 7.5%奖金 bonus4 = bonus2 + 200000 * 0.5; // 前两段奖金 + 5%奖金 bonus6 = bonus4 + 200000 * 0.3; // 前三段奖金 + 3%奖金 bonus10 = bonus6 + 400000 * 0.15; // 前四段奖金 + 1.5%奖金 if (salary <= 100000) bonus = salary * 0.1; else if (salary <= 200000) bonus = bonus1 + (salary - 100000) * 0.075; else if (salary <= 400000) bonus = bonus2 + (salary - 200000) * 0.05; else if (salary <= 600000) bonus = bonus4 + (salary - 400000) * 0.03; else if (salary <= 1000000) bonus = bonus6 + (salary - 600000) * 0.015; else bonus = bonus10 + (salary - 1000000) * 0.01; printf("bonus=%ld", bonus); return 0; } ``` 这两个例子涵盖了C语言的基础概念,包括变量、输入输出、循环、条件判断以及基本的数学运算。通过这些实例,初学者可以更好地掌握C语言编程的基本技巧,并逐步成长为高手。