nyoj题目277:车牌号

车牌号

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 1
描述
茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号码是按字典序发放的,现在她收集了很多车牌号码,请你设计程序帮她判断注册较早的号码。车牌号码由5个字母或数字组成
输入
第一行是n,代表有n组数据,第二行是m,以下m行是m个车牌号码
其中n<100,m<1000
输出
输出注册较早的车牌号
样例输入
1
4
AA100
aa100
0o2r4
ye2er
样例输出
0o2r4


#include <stdio.h>
#include <string.h>

main ()
{
 int n, m, i;
 char a[1001][6];
 scanf("%d", &n);
 while(n--)
 {
  scanf("%d", &m);
  for(i=0;i<m;i++)
  {
   scanf("%s", a + i);
   if (strcmp(a[i],a[0])<0)              //比较两个数,比较字符串用strcmp
    strcpy (a[0], a[i]);
  }
  printf("%s\n", a[0]);
 }
}


//自己不明白到底怎么算按字典序排序,去百度了,见别人直接用strcmp故考虑为0-9,A-Z,a-z。

//逆向思维:他没有说怎么排序,故应该是ascll码上的排序,故用strcmp。         

//自己刚开始定义二维数组定义的太小了,连续两道题都是,总感觉没错的,以后注意定义大一些。



最优程序
#include<stdio.h>
#include<string.h>
main()

{int n;

scanf("%d",&n);

while(n--)

{int m;

char a[6],c[6];

scanf("%d",&m);

getchar();

gets(c);

while(--m)

{gets(a)

;if(strcmp(a,c)<0)

strcpy(c,a);

}

puts(c);}} 

看了oj上的最优代码,才意识到这个代码不用二次数组,自己是习惯了。。。。    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值