试题 算法训练 字符串比较
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
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
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String t = sc.nextLine();
int num = sc.nextInt();
strncmp(s,t,num);
}
public static void strncmp(String s, String t, int num){
char[] s_char = s.toCharArray();
char[] t_char = t.toCharArray();
for (int i = 0; i < num; i++) {
if (s_char[i]>t_char[i]){
System.out.println(1);
break;
}else if (s_char[i]<t_char[i]){
System.out.println(-1);
break;
}
if (i==num-1 && s_char[i]==t_char[i]){
System.out.println(0);
}
}
}
}