问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作 者:陈文青
*完成日期:2014年12月15日
*版 本 号:v1.0
*
*问题描述: 比较两个字符串,返回值同strcmp()
*程序输入:
*程序输出:
*/
#include <iostream>
#include <iomanip>
using namespace std;
int pstrcmp(char *str1, char *str2);
int main(void)
{
char *s[81]= {"Tudou","Shanyaodan","Yangyu","Malingshu"};
int i=0,j=0;
cout<<"土豆大PK:"<<endl;
cout<<setw(12)<<" ";
for(; i<4; i++)
{
cout<<setw(12)<<s[i];
}
cout<<endl;
for(i=0; i<4; i++)
{
cout<<setw(12)<<s[i];
for(j=0; j<4; j++)
{
cout<<setw(12)<<pstrcmp(s[i],s[j]);
}
cout<<endl;
}
return 0;
}
//str>str2,返回1
//str==str2,返回0
//str<str2,返回-1
int pstrcmp(char *str1, char *str2)
{
char *p=str1,*q=str2;
while(*p==*q&&*p!='\0'&&*q!='\0')
{
p++;
q++;
}
if (*p>*q)
return 1;
else if(*p<*q)
return -1;
else
return 0;
}
运行结果:
学习心得:
字符串比较,勉勉强强,看懂了