"C经典算法:从简到难的互不相同数字问题"
需积分: 3 198 浏览量
更新于2024-01-12
2
收藏 130KB DOC 举报
本文档提供了许多C经典算法,适用于初学者和即将工作的朋友。
其中一个经典的例题是判断由1、2、3、4这四个数字能组成多少个互不相同且无重复数字的三位数,以及具体是哪些数字。
程序分析:
首先,可以将1、2、3、4填入百位、十位和个位的数字中。然后,生成所有可能的排列,并去掉不满足条件的排列。
程序源代码:
```
#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;
}
```
该程序使用三重循环,分别遍历百位、十位和个位的数字。在每次循环中,判断当前的三个数字是否满足互不相同的条件,如果满足则输出该三位数。
运行程序后,会得到如下的输出结果:
```
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
```
从输出结果可以看出,由1、2、3、4这四个数字组成的互不相同且无重复数字的三位数共有24个。其中,排列的顺序不同被视为不同的三位数。
通过这个例题,我们可以学习到使用循环和条件判断来解决问题,以及如何生成全排列。这是C语言中常用的算法之一,对于初学者来说是一道很好的练习题。
点击了解资源详情
点击了解资源详情
点击了解资源详情
128 浏览量
2010-11-09 上传
2007-08-17 上传
2010-05-18 上传
2009-01-07 上传
yizhidujian
- 粉丝: 0
- 资源: 5
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查