"C经典算法:从简到难的互不相同数字问题"
需积分: 3 160 浏览量
更新于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语言中常用的算法之一,对于初学者来说是一道很好的练习题。
2023-12-28 上传
2022-09-15 上传
128 浏览量
2010-11-09 上传
2007-08-17 上传
2010-05-18 上传
2009-01-07 上传
yizhidujian
- 粉丝: 0
- 资源: 5
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍