strcmp( )函数

strcmp的用法

所在头文件:string.h
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
说明:
当s1当s1==s2时,返回值= 0
当s1>s2时,返回正数 注意不是1
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
例题:

strcmp( )函数_第1张图片

strcmp( )函数_第2张图片

#include 
#include
#include 
#include 
using namespace std;
struct person
{
    char num[8];
    char name[10];
    int score;
}a[100005];
bool cmp1(person x,person y)//strcmp字符串比较大小的函数
{
    if(strcmp(x.num, y.num)>0)
        return 0;
    else
        return 1;
}
bool cmp2(person x,person y)
{
    if(strcmp(x.name, y.name)<0)
        return 1;
    else if(strcmp(x.name, y.name)==0)
    {
        if(strcmp(x.num, y.num)>0)
            return 0;
        else
            return 1;
    }
    else
        return 0;
}
bool cmp3(person x,person y)
{
    if(x.score0)
            return 0;
        else
            return 1;
    }
    return 0;
}
int main()
{
    int n,m,i,k=0;
    while (~scanf("%d",&n),n)
    {
        scanf("%d",&m);
        k++;//记录有几组数据
        for(i=0;i

C - 破译密码

  POJ - 3749 
#include
#include
#include
#include
using namespace std;
char a[210];
char b[5];
int main()
{
	while(gets(a))
	{
		if(strcmp(a,"ENDOFINPUT")==0)
			break;
		if(strcmp(a,"START")==0)//输入start不做任何处理 
			continue;
		else
		{
			gets(b);//获取一个end再输出密码原文 
			int len=strlen(a);
			for(int i=0;i


你可能感兴趣的:(strcmp( )函数)