问题描述
strncmp函数的原型为:int strncmp(char *s, char *t, int n);,其功能是比较字符串s和t的前n个字符。如果s<t,返回-1;如果s=t,返回0;如果s>t,返回1。请自己编程实现该函数,并编写一个程序来测试其正确性。
输入格式:输入有三行,第一行为字符串s,第二行为字符串t,第三行为整数n。
输出格式:输出只有一个整数,即比较结果。
输入输出样例
样例输入
world
word
4
样例输出
1
思路:取出来字母,比较就可以了…
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
String t = scanner.next();
int n = scanner.nextInt();
System.out.print(f(s, t, n));
}
public static int f(String s, String t, int n) {
for (int i = 0; i < n; i++) {
if (s.charAt(i) < t.charAt(i)) { //取每一位比较
return -1;
} else if (s.charAt(i) == t.charAt(i)) { //如果相等,跳出循环,返回0
continue;
} else { //前两项情况都不是,就是返回1这种情况了
return 1;
}
}
return 0;
}