C语言入门:实战100题解析(数字组合与奖金计算)
需积分: 0 76 浏览量
更新于2024-12-25
收藏 285KB DOC 举报
本资源是一份针对初学者设计的C语言实例教程,包含了100道基础题目,旨在帮助刚接触C语言的人熟悉编程语法并进行实际操作练习。以下是两道题目及其详细解析:
程序1:三位数的组合
题目要求计算1、2、3、4这四个数字可以组成多少个互不相同且无重复数字的三位数,并列出所有可能的组合。该程序使用了三层嵌套循环,每层循环分别代表百位、十位和个位的选择。通过`if`语句确保每个数字不重复,然后使用`printf`函数输出符合条件的组合。
```c
int main() {
int i, j, k;
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);
}
}
}
}
}
```
这段代码会输出所有符合条件的三位数组合,共计6种(即3! = 3×2×1种排列方式)。
程序2:奖金计算
第二个问题是关于企业奖金的计算,根据利润的不同区间有不同的提成比例。程序首先从用户那里获取利润值`i`,然后根据预设的边界条件(10万元、20万元、40万元、60万元和100万元)进行分段计费。使用`if-else if`结构判断利润范围,计算不同区间的提成金额,并累加得到总奖金`bonus`。
```c
long int i;
int bonus1, bonus2, bonus4, bonus6, bonus10, bonus;
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 {
bonus = bonus10 + (i - 600000) * 0.01; // 提成1%
}
```
这个程序可以帮助学习者理解如何根据不同的条件执行不同分支的逻辑,以及如何处理浮点计算和整数转换。
通过这两个例子,学习者能够掌握C语言的基本语法结构,如控制结构(循环和条件判断)、数据类型以及输入输出等,这对于巩固C语言基础至关重要。
2009-10-11 上传
2010-07-05 上传
2010-07-05 上传
2012-11-15 上传
2009-04-19 上传
2009-11-26 上传
点击了解资源详情
2008-09-13 上传
2010-07-02 上传
quizasdodo
- 粉丝: 2
- 资源: 1
最新资源
- spotify-tournament:Spotify歌曲的单消除支架
- landing_LeWagon
- leaflet-virtual-grid:用于Leaflet的轻量级,无DOM的平铺图层,可用于查询具有边界框或中心半径的API,而无需加载平铺
- cochediviuroverride,c语言源码转exe格式,c语言
- [removed]遵循原始码实现的简易框架
- KnightLauncher:螺旋骑士的开源游戏启动器。 支持自动64位Java VM安装,Discord集成,更轻松的改装等等
- Latihan_Wardah
- MVBFA,c语言3d射击游戏源码,c语言
- 幸运星
- OL3-AnimatedCluster:OL3-AnimatedCluster现在是ol-ext项目的一部分
- website_files:开源社交媒体平台-Source website php
- Hold-Onto-Your-Body_64969:紧紧抓住你的身体! 理查德·刘易斯(Richard O.Lewis)撰写的古腾堡计划书,现在在Github上
- bmdview.zip
- Tesseract-OCR.zip
- C#-Leetcode编程题解之第21题合并两个有序链表.zip
- nodejs-server-wechat-landLordGame:微信小游戏-斗地主,包含nodejs-服务器