1、源程序
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#define max 30
void fun(char *pst[6])
{
int i,j;
char *p;
for(i=0;i<5;i++)
{
for(j=i+1;j<6;j++)
if(strcmp(*(pst+i),*(pst+j))>0)
{
p=*(pst+i);
pst[i]=pst[j];
*(pst+j)=p;
}//if
}//for
}//fun
int main()
{
int i;
char *ps[6],str[6][max];
for(i=0;i<6;i++)
ps[i]=str[i];
printf("input 6 line:\n");
for(i=0;i<6;i++)
scanf("%s",ps[i]);
fun(ps);
printf("the result of sorting is:\n");
for(i=0;i<6;i++)
printf("%s\n",ps[i]);
}
2、只是作为抛砖引玉作用,本程序可改进的地方还有很多。比如可以比较N个字符的大小,而不仅仅是6个。
3、本程序中,比较字符串部分,及字符串地址赋值部分是值的注意的。如:
ps[i]=str[i];
及p=*(pst+i);
这些关键的地方,对于新学习的人来说,是值的注意的。
4、程序中对于字符串应用冒泡算法的方法部分,也是值得大家看一下的。
5、涉及函数
char *strcpy(char *dest, const char *src),返回指向dest的指针。
char * gets(char *str) ,从标准输入流读取字符串并回显,读到回车符时退出。
int puts(char *str),将字符串str写到标准流stdout中去。
4、字符串的比较
最新推荐文章于 2023-11-15 21:43:12 发布