C语言编程:字符串排序与常胜游戏小程序
版权申诉
139 浏览量
更新于2024-07-01
收藏 22KB PDF 举报
"C语言简单小程序简单算法.pdf 包含两个C语言程序示例,一个是字符串排序,另一个是21根常胜游戏的实现。这些程序适用于初学者学习和考试复习。"
在C语言中,编写小程序是学习编程的基础。这里有两个小程序,都是在Turbo C 2.0编译器环境下编译并通过的。
第一个程序是字符串排序,它使用了经典的冒泡排序算法。冒泡排序是一种简单的排序方法,通过比较相邻元素并交换位置来逐步将较大的元素移动到序列末尾。在这个程序中:
```c
void paixu(char *p[5]) {
int i, j;
char *q;
for (i = 0; i < 4; i++) // 遍历数组4次,因为最后一次排序已经保证了最大值在正确位置
for (j = 0; j < 4 - i; j++) // 比较并交换相邻的字符串
if (strcmp(p[j], p[j + 1]) > 0) { // 使用strcmp函数比较字符串大小
q = p[j]; // 保存当前元素的指针
p[j] = p[j + 1]; // 将较大的字符串移到前面
p[j + 1] = q; // 将较小的字符串移到后面
}
}
```
主函数`main()`部分,首先分配内存存储5个字符串,并通过`scanf`读取用户输入,然后调用`paixu`进行排序,最后打印排序后的结果。
第二个程序是一个简单的游戏模拟,称为21根常胜游戏。游戏规则是,两个人轮流从一叠总共有21根的棍子中取走1至4根,取走最后一根的人输。程序使用递归实现,当只剩1根棍子时,由当前玩家自动输掉游戏。核心部分在于根据剩余棍子数判断玩家可能的取法,然后模拟电脑的取法,直到游戏结束。
```c
stick(int left) {
int take;
if (left == 1) {
// 游戏结束,玩家输
} else {
// 获取玩家的取法
// 模拟电脑取法
// 继续游戏
}
}
```
这个程序可以帮助理解递归以及基本的游戏逻辑,是学习C语言控制流程和函数应用的好例子。
这两个小程序展示了C语言的基本语法、输入输出、内存管理(动态内存分配)以及基本算法的应用,适合初学者作为练习和备考使用。通过理解和运行这些程序,可以加深对C语言的理解,并提升编程能力。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-09-14 上传
2021-10-01 上传
2021-10-16 上传
2021-10-01 上传
2021-10-28 上传
157 浏览量
cjd13107639592
- 粉丝: 1
- 资源: 5万+
最新资源
- 基于Cordova + Framework7 + React + Webpack构建混合App.zip
- CoronaGame_front
- 无线传感网络节点能耗模型.zip
- 蓝色扁平化商务工作汇报图表下载PPT模板
- ember-bootstrap-controls:一个Ember组件库,它使用Bootstrap4表单并输入样式和html
- PWABuilder-CLI:用于应用程序生成的Node.js工具
- XY轴点焊机_三菱伺服_
- 毕业设计,基于人脸识别的智能家居控制系统.zip
- rust-reference-book:中文版的Rust参考
- assignment-problem:匈牙利方法的分配问题
- 微立体建筑行业工作汇报图表大全PPT模板
- 电脑使用时间管理 ManicTime-4.3.rar
- firebase-firestore-lite:浏览器的轻量级云Firestore库
- bouquins:calibre 电子书管理器的 Web 前端
- MFC中修改Button控件字体、字体大小、背景色、背景图片
- Baymin是一个基于Android系统开发的可以用于语音聊天的智能机器人,它能够陪你聊天,帮你查天气,查路线、车票.zip