用简单的C++编程

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:48:54
一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如“Hello”和“hello”,在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。
要求用一个自定义函数实现忽略大小写的比较过程,用函数的返回值表示比较的结果:若返回值为0表示两个字符串相等;若返回值为1表示第一个字符串比第二个字符串大;若返回值为-1表示第一个字符串比第二个字符串小。
函数定义为:int MyStrCmp(char *pStr1,char *pStr2)

Input

输入为两行,每行一个字符串,共两个字符串(请用gets录入每行字符串)(每个字符串长度都小于等于80)。

Output

如果第一个字符串比第二个字符串小,输出一个字符“<”;
如果第一个字符串比第二个字符串大,输出一个字符“>”;
如果两个字符串相等,输出一个字符“=”。

int MyStrCmp(char *pStr1, char* pStr2)
{
for (int i=0; pStr1[i] != 0; ++i)
{
if (pStr1[i] >='A' && pStr1[i] <='Z')
pStr1[i] += 'a'-'A';
}
return strcmp(pStr1, pStr2);
}

int main()
{
char str1[80], str2[80];
gets(str1);
gets(str2);
int result = MyStrCmp(str1,str2);
if (result >0) printf(">");
if (result <0) printf("<");
if (result ==0) printf("=");
}

兄弟,字数和分数至少要成正比吧,这么多字。。。不想看哦~~~

#include <cstdio>
#include <cstdlib>
#include <string>
#include <iostream>

using namespace std;
void tolower(char &c1, char &c2);

int MyStrCmp(char *pStr1,char *pStr2)
{
if (!pStr1 || !pStr2)
{
if (pStr1)
return 1;
else if (pStr2)
return -1;
else
return 0;
}

int l1 = strlen(p