能不能过?
Description:
Jackie来自江城武汉,一个交通发达,九省通衢的城市。但是由于交通压力,长江二桥以及长江隧道于年初开始施行新的限行方案:禁止当日日期前后两位车牌尾号数字的小型载客汽车通过。例如今天是10月6号,那么尾号是5和7的车将不允许通过。Jackie现在有一些亲戚朋友的车牌号,他想知道今年(2014年)这些车分别有多少天能过桥,你能帮他算出来吗?
Input:
第一行输入一个整数N(0<n<10000)。<n<10000)。<n<10000)。<n<10000)。<n<10000)。<n<10000)。<n<10000)。< span="" style="box-sizing: border-box;">
每组数据输入一个车牌号(如鄂A12345)。
Output:
对于每组数据,输出该车今年能过桥的天数,每行输出对应天数。假设输入的车牌格式合法且均为鄂A开头,且为小型载客汽车,不考虑节假日对政策的影响。
Sample Input:
3 鄂A12345 鄂A67890 鄂A11111
Sample Output:
293 287 294
#include<stdio.h>
int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int num[12]={0};
int main()
{
char str[12]={0},str1[10];
int n,i,j,cnt,k,t;
for(i=0;i<10;i++)
{
cnt=0;
for(j=0;j<12;j++)
{
for(k=1;k<=mon[j];k++)
{
if(i==(k-1)%10||i==(k+1)%10)
cnt++;
}
}
num[i]=365-cnt;
}
while(scanf("%d",&n)!=EOF&&n)
{
for(i=0;i<n;i++)
{
getchar();
cnt=0;
scanf("%s",str);
t=str[7]-'0';
printf("%d\n",num[t]);
}
}
return 0;
}
上面的WA,下面的AC,主要还是因为在LInux服务器中一个汉字占三个字节
#include<stdio.h>
#include<string.h>
int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int num[12]={0};
int main()
{
char str[12]={0};
int n,i,j,cnt,k,t;
for(i=0;i<10;i++)
{
cnt=0;
for(j=0;j<12;j++)
{
for(k=1;k<=mon[j];k++)
{
if(i==(k-1)%10||i==(k+1)%10)
cnt++;
}
}
num[i]=365-cnt;
}
scanf("%d",&n);
for(i=0;i<n;i++)
{
getchar();
scanf("%s",str);
t=str[strlen(str)-1]-'0';
printf("%d\n",num[t]);
}
return 0;
}