6-1 字符串比较
分数 10
中等
作者 王跃萍
单位 东北石油大学
函数fun的功能是比较两个字符串,如果s1=s2,则返回值0;如果s1>s2,则返回值1;如果s1<s2,则返回-1。
函数接口定义:
int fun(char a[],char b[]);
其中a
、b
是用户传入的参数。 函数比较两个字符串,如果a
=b
,则返回值0;如果a
>b
,则返回值1;如果a
<b
,则返回-1。
裁判测试程序样例:
#include "stdio.h"
#include "string.h"
int fun(char a[],char b[]);
int main()
{int t;
char s1[40],s2[40];
gets(s1); gets(s2);
t=fun(s1,s2);
printf("%d\n",t);
return 0;
}
/* 请在这里填写答案 */
输入样例:
asd
fg
输出样例:
-1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
解题思路:
题目要求我们比较两个字符串,如果s1=s2,则返回值0;如果s1>s2,则返回值1;如果s1<s2,则返回-1。在这里,字符串的比较是比较ASCLL码值,若码值全相同,则两字符串相等;若出现首个不同的码值,按码值的大小比较字符串的大小。
如例子中的asd和fg,a的ASCLL码值小于f,所以asd小于fg。
题目中的判裁程序使用了string.h头文件,所以我们可以使用自带的库函数strcmp(),它的返回值与上述题目要求的相符,可以快速的完成此题。
代码实现:
int fun(char a[],char b[]){
if(strcmp(a,b)>0) return 1;
else if(strcmp(a,b)<0) return -1;
else return 0;
}