C语言编程经典实例:100道练习题解析

需积分: 9 1 下载量 163 浏览量 更新于2024-07-29 收藏 292KB PDF 举报
“C语言经典100例.pdf” 这篇文档主要包含了两个C语言编程实例,旨在帮助学习者理解和掌握C语言的基本概念以及解决问题的技巧。第一个程序是关于生成所有不重复的三位数的问题,而第二个程序则涉及计算基于利润的不同阶段的奖金提成。 【程序1】 该程序的目标是找出所有由数字1、2、3、4组成的不重复的三位数。通过使用嵌套循环,程序遍历所有可能的组合,确保每个数字只在一个数位上出现一次。主循环首先以i遍历数字1到4,然后用j遍历剩余的数字,最后用k遍历剩下的两个数字。在每次循环中,程序都会检查i、j和k是否互不相同,如果满足条件,就打印出这个三位数。这种方法体现了C语言的数组和条件判断语句的应用。 ```c 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); } } ``` 【程序2】 这个程序计算企业根据利润发放的奖金。利润分为多个区间,每个区间有不同的提成比例。程序需要根据输入的利润值I,确定对应的提成比例,并计算总奖金。这涉及到条件分支(if...else)和长整型变量的使用,以处理可能的大数值。程序首先定义了一个长整型变量i来存储利润,然后通过一系列条件判断,计算不同区间内的提成,并将它们累加得到总奖金。 ```c main() { long int i; int bonus; // 输入利润值 scanf("%ld", &i); // 计算奖金 if (i <= 100000) { bonus = i * 0.1; } else if (i <= 200000) { bonus = 10000 + (i - 100000) * 0.075; } else if (i <= 400000) { bonus = 35000 + (i - 200000) * 0.05; } else if (i <= 600000) { bonus = 55000 + (i - 400000) * 0.03; } else if (i <= 1000000) { bonus = 90000 + (i - 600000) * 0.015; } else { bonus = 150000 + (i - 1000000) * 0.01; } printf("奖金为:%d元\n", bonus); } ``` 这两个示例展示了C语言的基础语法,如变量声明、循环控制、条件判断以及输出操作。同时,它们也演示了如何解决实际问题,比如生成所有可能的组合和根据规则计算奖金。这样的练习对于提升C语言编程能力非常有帮助。