#include<stdio.h>
#include<string.h> //包含strcmp函数的头指针
#define H 5
#define L 20
void Scanf(char (*s)[L]);
void Pai(char (*s)[L]);
void Print(char (*s)[L]);
void swap(char *s1,char *s2);
int main()
{
char s[H][L];
Scanf(s);
Pai(s);
printf("升序排序后结果为:\n");
Print(s);
return 0;
}
void Scanf(char (*s)[L])
{
int i=0;
while(i<H)
{
gets(s[i]);
i++;
}
}
void Pai(char (*s)[L])
{
int i=0,j=0;
for(j=0;j<H;j++)
{
for(i=0;i<H-j;i++)
if((strcmp(s[i],s[i+1]))>0) //strcmp函数,比较字符串的大小
{
swap(s[i],s[i+1]); //调用写的swap函数对两个字符串内容进行交换
}
}
}
void Print(char (*s)[L])
{
int i=0;
while(i<H)
{
puts(s[i]); // 输出字符串
i++;
}
}
void swap(char *s1,char *s2)
{
char temp[L];
int i;
for(i=0; i<L; ++i) {
temp[i]=*(s1+i);
*(s1+i)=*(s2+i);
*(s2+i)=temp[i];
}
}
(四川大学出版社C语言程序设计第二版课后习题)(指针)键盘输入五个字符串,指针数组对字符串进行升序排序
最新推荐文章于 2022-07-06 16:14:59 发布