4、字符串的比较

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中去。
 

发布了321 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hopegrace/article/details/104605782