C语言编程:字符串排序与数组最小值查找实例
需积分: 10 105 浏览量
更新于2024-07-31
收藏 277KB DOC 举报
在本篇资源中,主要涉及了两个C语言编程题目,分别对应于成都信息工程大学计算中心的网上作业和考试。
第一个问题是第65题,要求编写一个名为P7-719.C的程序,其目的是实现字符串的升序排序。该程序通过`scanf`函数从用户处获取5个最多80字节的字符串,然后利用嵌套的`for`循环和`strcmp`函数比较字符串,如果发现当前字符串大于后一个,则交换它们的位置,以达到升序排列。程序的关键代码片段如下:
```c
for(j=0;j<6;j++) {
for(i=0;i<4;i++) {
if(strcmp(str[i],str[i+1])>0) {
strcpy(cc,str[i]);
strcpy(str[i],str[i+1]);
strcpy(str[i+1],cc);
}
}
}
```
这段代码遍历数组,每次比较相邻的两个字符串,如果`str[i]`比`str[i+1]`大,就将`str[i+1]`的内容复制到临时变量`cc`,然后将`str[i]`的值赋给`str[i+1]`,最后将`cc`的值赋给`str[i+1]`,实现了升序排序。
第二个问题来自第42题,P7-762.C,该题目要求实现一个名为`FindMin`的函数,该函数接收一个整数数组`num[]`,数组长度`n`以及一个指向最小元素位置的指针`pMinPos`。函数的目的是找到数组中的最小元素及其索引。尽管题目没有提供完整的函数实现,但可以推测函数的主要逻辑如下:
```c
int FindMin(int num[], int n, int* pMinPos) {
int minNum = num[0]; // 假设第一个元素为最小值
*pMinPos = 0; // 初始化最小值位置为0
for (int i = 1; i < n; i++) {
if (num[i] < minNum) {
minNum = num[i];
*pMinPos = i; // 更新最小值位置
}
}
return minNum;
}
```
这部分代码首先假设第一个元素为最小值,然后遍历整个数组,如果发现新的更小元素,就更新`minNum`和`pMinPos`。函数返回找到的最小值。
两个题目都考察了基础的C语言编程技能,包括字符串和整数数组的操作,以及控制结构的使用。学生需要熟练掌握字符串比较、数据结构以及函数设计,才能正确完成这些题目。
2022-05-16 上传
2009-09-03 上传
2022-11-15 上传
2019-04-20 上传
2013-01-03 上传
2013-03-05 上传
2013-05-23 上传
2013-11-01 上传
hhxsv5
- 粉丝: 0
- 资源: 19
最新资源
- C++ GUI Programming with Qt 4
- Compiere 的生产管理模块
- Java反射机制入门
- 模拟单处理机进程调度算法
- Linux安装Oracle 10g
- 基于J2EE的Ajax宝典
- ArcEngine开发代码集合
- Linux下mysql常用操作命令总结
- ER mapper中文手册
- peoteus与单片机仿真
- 平面布局方图模型的尺寸计算
- A Guide to MATLAB for Beginners and Experienced Users
- VC++常用方法__获得主机名及IP
- cognos展现教程
- 一种基于单片机的数据采集系统设计
- weblogic 9.2 LINUX安装全过程[ 图形] 含ESB安装