C语言经典程序示例:三数之和与薪酬计算
需积分: 6 60 浏览量
更新于2024-12-17
收藏 61KB TXT 举报
"经典C源程序100例"
这些示例展示了C语言编程的经典应用场景。以下是其中三个程序的详细解析:
1. 这个程序是寻找并打印出1到4之间的所有不同的三元组(i, j, k),使得它们不相等。它通过三层嵌套循环实现,外层循环变量`i`从1到4,中间层循环变量`j`同样从1到4,内层循环变量`k`也是1到4。在满足条件`i != j && i != k && 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); // 打印符合条件的三元组
}
}
}
}
```
2. 第二个程序计算奖金。根据输入的销售额`i`,按不同的销售区间计算对应的奖金百分比。程序首先定义了每个区间的奖金基础值,然后根据输入的销售额应用相应的百分比。最后,通过一系列条件语句(`if...else if...`)确定了奖金数额。这体现了条件分支和算术运算在实际问题中的应用。
```c
scanf("%ld",&i); // 读取销售额
bonus1=100000*0.1; // 计算10万销售额的奖金
// ... 计算其他区间的奖金
if(i<=100000) // 分别处理不同销售区间的奖金
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
// ... 其他条件分支
else
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus); // 打印奖金
```
3. 第三个程序涉及计算两个整数的最大公约数(GCD)和最小公倍数(LCM)。它使用了欧几里得算法(Euclidean algorithm)来计算GCD,该算法基于两个整数的除法余数。找到GCD后,利用公式`LCM = (num1 * num2) / GCD`来计算LCM。程序使用了`<math.h>`库中的`gcd`函数和自定义的`lcm`函数。
```c
#include <math.h>
int gcd(int a, int b) {
if(b == 0) return a; // 当b为0时,a即为GCD
else return gcd(b, a % b); // 递归调用gcd,直到b为0
}
int lcm(int a, int b) {
return (a * b) / gcd(a, b); // 使用GCD计算LCM
}
int main() {
int num1, num2, result;
printf("Enter two numbers: ");
scanf("%d%d", &num1, &num2);
result = gcd(num1, num2); // 计算GCD
printf("GCD: %d\n", result);
result = lcm(num1, num2); // 计算LCM
printf("LCM: %d\n", result);
return 0;
}
```
这三个程序展示了C语言的基础知识,包括循环、条件判断、函数调用以及数值计算。通过学习和理解这些示例,读者可以进一步掌握C语言的核心概念和编程技巧。
2010-02-05 上传
2022-04-08 上传
2009-02-03 上传
2024-12-25 上传
2024-12-25 上传
2024-12-25 上传
cuiyulong2009
- 粉丝: 0
- 资源: 1
最新资源
- 计算机一级考试机试试题
- DDS芯片AD9850的工作原理及其与单片机的接口
- Beginning Web Development Silverlight and ASP.NET AJAX - From Novice to Professional
- 详细的jsp分页程序!(oracle+jsp+apache)
- 新一代人机交互中的二维图像AVR 重建
- Protel99教程.doc
- C# 命名空间编译单元命名空间声明
- The Unified Modeling Language Reference Manual
- C程序设计 学生成绩管理系统
- VC客户/服务通信编程(ServerSocket詳解).pdf
- 跟我一起写Makefile.txt
- linux vim 使用手册
- JavaScript语言精髓与编程实践
- java文件操作大全.txt
- 如何画状态图pdf格式
- [翻译版]FPGA设计经验谈.pdf