https://cometoj.com/contest/58/problem/A
第一次在裙子oj同步竞赛 完成签到题。。。 感动。
题目描述
这道题用来纪念原本的E题。
突然有人告诉小D,由于某种神秘力量的侵袭,他原本的题目不能用了。别无他法,小D只能从手中的题目里再选一道出来,但由于小D非常难过,这项任务就交给你。具体来说,每道题目有一个由小写字母组成的字符串作为名字,你需要选出一个名字的字符串字典序最小的题目作为新的题目,并输出这个字符串。
关于如何比较两个字符串的字典序,方法是這樣的:从左边第一位开始,如果两个串这一位上的字符不一样,则结束比较,这一位上字符小的串字典序更小,否则继续比较下一位。特殊的,如果比较至某一位时某个串比另一个串长度短提前结束,则长度短的串字典序更小。
输入描述
第一行输入一个正整数 nn,
接下来 nn 行,每行读入一个小写英文字母构成的字符串。
$2 \leq n \leq 10002≤n≤1000$
每個最长的字符串的长度都介於 1 和 1000 之間(包含 1 和 1000)
输出描述
输出一行,即输入字符串中字典序最小的字符串。
分析
即从左边第一位开始,如果两个串这一位上的字符不一样,则结束比较,这一 位上字符小的串字典序更小,否则继续比较下一位。特殊地,如果比较至某一 位时某个串比另一个串长度短提前结束,则长度短的串字典序更小
java
package CometOJ._8_;
import java.util.Scanner;
public class A {
public static void main(String[] args) {
Scanner cin =new Scanner(System.in);
int n=cin.nextInt();
String min=cin.next();
String t;
for (int i = 0; i < n-1; i++) {
t=cin.next();
if(min.compareTo(t)>0){
min=t;
}
}
System.out.println(min);
}
}
c
#include <stdio.h>
#include <string.h>
int main(){
int n,i;
char min[1001];
char b[1001];
scanf("%d",&n);
scanf("%s",min);
for(i=0;i<n-1;i++){
scanf("%s",b);
if(strcmp(min,b)>0){
strcpy(min, b);
}
}
printf(min);
return 0;
}
本文地址:https://dxoca.cn/Algorithm/231.html 百度已收录
版权说明:若无注明,本文皆为“Dxoca's blog (寒光博客)”原创,转载请保留文章出处。
是不是,,,直接读入 sort 输入 1就ok , 如果用api的话,,,