/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:王鼎
* 完成日期:2012 年12月23日
* 版本号:v1.0
* 输入描述:无
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:略
*/
#include <iostream>
using namespace std;
int astrcmp(const char str1[],const char str2[]);
int pstrcmp(const char *str1,const char *str2);
int main()
{
int i,j;
char s1[50]="Hello world.";
char s2[50]="Good morning!";
i=astrcmp(s1,s2);
if(i==1)
cout<<"经第1个函数计算,字符串1大于字符串2."<<endl;
if(i==-1)
cout<<"经第1个函数计算,字符串1小于字符串2."<<endl;
if(i==0)
cout<<"经第1个函数计算,字符串1等于字符串2."<<endl;
j=pstrcmp(s1,s2);
if(j==1)
cout<<"经第2个函数计算,字符串1大于字符串2."<<endl;
if(j==-1)
cout<<"经第2个函数计算,字符串1小于字符串2."<<endl;
if(j==0)
cout<<"经第2个函数计算,字符串1等于字符串2."<<endl;
return 0;
}
int astrcmp(const char str1[],const char str2[])
{
int i;
for(i=0;str1[i]==str2[i]&&str1[i]!='\0';i++);
if(str1[i]>str2[i])
return 1;
if(str1[i]<str2[i])
return -1;
else
return 0;
}
int pstrcmp(const char *str1,const char *str2)
{
int j;
for(j=0;*(str1+j)==*(str2+j)&&*(str1+j)!='\0';j++);
if(*(str1+j)>*(str2+j))
return 1;
if(*(str1+j)<*(str2+j))
return -1;
else
return 0;
}
运行结果: