比较两个字符串的大小

  1. /* 
  2.     比较两个字符串的大小 
  3. */  
  4.   
  5.   
  6. *           
  7.  * Copyright (c) 2012, 烟台大学计算机学院           
  8.  * All rights reserved.              
  9.  * 作    者:  王俊          
  10.  * 完成日期:2012 年 12 月22日           
  11.  * 版 本 号:v1.0           
  12.  *           
  13.  * 输入描述:无           
  14.  * 问题描述:输入两串字符串               
  15.  * 算法设计:略              
  16.  * 问题分析:   
  17.  * 程序输出:输出大的那一串   
  18.  */      
  19. #include <iostream>   
    using namespace std;  
    int astrcmp(const char str1[], const char str2[]);  
    int pstrcmp(const char *str1, const char *str2);  
    int main()  
    {  
        char s1[50]="WO DE DI PAN!";  
        char s2[50]="WO ZUO ZU!";  
        int c;    
        if(astrcmp(s1,s2)==0){  
            cout<<"s1=s2:"<<s1<<endl;  
        }
    	 if(astrcmp(s1,s2)>0)
    	 {  
            cout<<"s1>s2:"<<s1<<endl;  
        }else{  
            cout<<"s2>s1:"<<s2<<endl;  
        }   
        if(pstrcmp(s1,s2)==0){  
            cout<<"s1=s2:"<<s1<<endl;  
        }else   
            if(pstrcmp(s1,s2)>0){  
                cout<<"s1>s2:"<<s1<<endl;  
            }else{  
                cout<<"s2>s1:"<<s2<<endl;  
            }//用指针   
            c=strcmp(s1,s2);
            cout<<c<<endl;//比较2个字符串的大小……s1=s2,strcmp(s1,s2) == 0;s1>s2, strcmp(s1,s2) == 1;s1<s2, strcmp(s1,s2) == -1;   
            return 0;  
    }  
    int astrcmp(const char str1[], const char str2[])  
    {    
        int i;  
        i=str1-str2;  
        if(i>0){  
            return 1;  
        }else if(i<0){  
            return -1;  
        }else  
            return 0;  
    }  
      
    int pstrcmp(const char *str1, const char *str2)   
    {  
        const char *p1=str1,*p2=str2;  
        int i;  
        while(*p1!='\0'&&*p2!='\0')  
        {  
            p1++;  
            p2++;  
        }  
        i=*p1-*p2;  
        if(i>0){  
            return 1;  
        }else if(i<0){  
            return -1;  
        }else  
            return 0;  
    }  
    

    运行结果:    
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值