好车牌

本文介绍了一个简单的程序,用于判断特定格式的车牌号(三个字母加四个数字)是否为“好车牌”。通过计算字母部分(26进制表示)与数字部分的差值绝对值是否小于等于100来判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

 

烟台最近使用一种新的车牌号码: ABC-0123(3个字母+4个数字)

如果字母部分和数字部分差值的绝对值最多为100则认为是好车牌。

字母部分的值的以26进制(A……Z表示)计算。比如第一部分为"ABC",它的值为28(0*26^2 + 1*26^1 + 2*26^0)。因为 |28-123|<=100,所以"ABC-0123"为好车牌。

给出一系列的车牌,你编个程序计算一下哪些是好车牌,哪些不是。

 

 

 

 

Input

 

第一行为整数N(1<=N<=100),表示车牌的个数。

接下来是N行,每行一个格式为LLL-DDDD的车牌。

 

 

Output

 

对每个车牌输出 "nice" or "not nice" (不包含引号)

 

 

Sample Input

2
ABC-0123
AAA-9999

Sample Output

nice
not nice



解题思路:这道题我在字母部分的组成上理解错了,导致wa了几发,后来大神提醒,我才明白其实可以参考数字部分的组成原理.

上代码:
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<stdlib.h>
 5 int main()
 6 {
 7     int t,s1,s2,ans,i,sum;
 8     char s[10];
 9     scanf("%d",&t);
10     getchar();
11     while(t--)
12     {
13         gets(s);
14         s2=0;
15         s1=0;
16         for(i=0;i<=2;i++)
17         {
18             s1=s1*26+(s[i]-65);
19         }
20         for(i=4;i<=7;i++)
21         {
22             s2=s2*10+s[i]-48;
23         }
24         sum=abs(s1-s2);
25         if(sum<=100)
26             printf("nice\n");
27         else
28             printf("not nice\n");
29     }
30     return 0;
31 }

 

转载于:https://www.cnblogs.com/wkfvawl/p/8964107.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值