游客 Signup | Login
中文 | En

1196 - C语言7.20

读入两个字符串s1和s2,比较这两个字符串。若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。输出的非零值应该是相比较的两个字符串第一个不相同位置的字符ASCII差值,例如”And”和”Aid”比较,根据第2个字符的比较结果,应输出5。

要求不要使用strcpy和strcmp函数。

Input

两行字符串。保证每个字符串的长度不超过100。

Output

两个字符串的比较结果。

请注意行尾输出换行。

Examples

Input

I am a program.
I am not a program.

Output

-13

Solution C

#include<stdio.h>
#include<string.h>
int main()
{
	char a[102],b[102];
	int i,k,l1,l2,l;
	gets(a);
	gets(b);
	l1=strlen(a);
	l2=strlen(b);
	l=l1<l2?l1:l2;
	for(k=0,i=0;i<l;i++)
	{
		if(a[i]<b[i]){printf("-%d\n",b[i]-a[i]);k++;break;}
		if(a[i]>b[i]){printf("%d\n",a[i]-b[i]);k++;break;}
	}
	if(k==0)
		printf("0\n");
	return 0;
}

Solution C++

#include <stdio.h>
#include <string.h>
int main() {
	char str[2][101];
	int i, retVal = 0;
	for (i = 0;i < 2;i++)
		gets(str[i]);
	for (i = 0;str[0][i] != '\0' && str[1][i] != '\0';i++)
		if (str[0][i] != str[1][i])
			break;
	retVal = str[0][i] - str[1][i];
	printf("%d\n", retVal);
	return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题