C语言编程:使用三重循环生成无重复三位数
4星 · 超过85%的资源 需积分: 12 86 浏览量
更新于2024-07-27
4
收藏 368KB PDF 举报
"《C经典100例》是一本以C语言编写的编程实践教程,其中包含了多个经典的编程示例。本文档介绍了两个具体的程序实例。第一个程序是计算使用1、2、3、4这四个数字能组成的互不相同且无重复数字的三位数的个数。第二个程序涉及奖金计算,根据利润分成不同段位,计算不同利润区间对应的奖金总额。"
第一个程序主要展示了如何使用C语言进行排列组合的计算。通过三层嵌套循环(i、j、k)遍历所有可能的三位数组合,并使用if语句确保每一轮循环中的三个数字互不相同。这个程序的核心在于理解数组的遍历以及逻辑判断的应用,同时体现了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);
}
}
```
第二个程序是关于奖金计算,涉及到利润区间和不同比例的奖金提成。这个程序运用了if-else语句对不同利润范围进行判断,然后计算相应的奖金。需要注意的是,对于长整型变量的使用,确保能够存储大额奖金。程序如下:
```c
main()
{
long int i;
int bonus1, bonus2, bonus4, bonus6, bonus10, bonus;
scanf("%ld", &i);
bonus1 = 100000 * 0.1; // 10%提成
bonus2 = bonus1 + 100000 * 0.75; // 7.5%提成
bonus4 = bonus2 + 200000 * 0.5; // 5%提成
bonus6 = bonus4 + 200000 * 0.3; // 3%提成
bonus10 = bonus6 + 400000 * 0.15; // 1.5%提成
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)
// 其余奖金计算部分...
}
```
这两个程序不仅涵盖了C语言的基本语法,如变量声明、循环结构、条件判断、输入输出,还涉及了逻辑思维和实际问题的算法设计。通过这样的实例,学习者可以加深对C语言的理解,并逐步提高编程能力。
2012-06-05 上传
2018-04-27 上传
2011-12-11 上传
2009-10-02 上传
2009-12-01 上传
2024-12-24 上传
2024-12-25 上传
DataChat.Club
- 粉丝: 55
- 资源: 24
最新资源
- 基于RGB空间的彩色图像处理GUI设计.pdf
- RapidWebSpherePortletFactory
- 物流信息系统的设计与实现
- 高速串行背板总线的仿真设计
- ssh框架集成的详细说明
- 基于模糊神经网络的多传感器自适应
- 模糊神经网络信息融合在移动机器人的应用
- FIFO算法的c++实现
- 运筹案例分析详细车车
- 二叉树的遍历代码(递归)
- VB与单片机之间通信-RS232
- 让CPU占用率曲线听你指挥
- 用c++解决饮料供货的问题
- 《ajax框架:dwr与ext》实战
- pci_cust_tutorial.pdf
- O' Reilly - Practical C Programming 3rd Edition