能不能過?
Jackie來自江城武漢,一個交通發達,九省通衢的城市。但是由於交通壓力,長江二橋以及長江隧道於年初開始施行新的限行方案:禁止當日日期前後兩位車牌尾號數字的小型載客汽車通過。例如今天是10月6號,那麼尾號是5和7的車將不允許通過。Jackie現在有一些親戚朋友的車牌號,他想知道今年(2014年)這些車分別有多少天能過橋,你能幫他算出來嗎?
第一行輸入一個整數N(0<n<10000)。<n<10000)。<n<10000)。<n<10000)。<n<10000)。<n<10000)。<n<10000)。< span="" style="box-sizing: border-box;">
每組數據輸入一個車牌號(如鄂A12345)。
對於每組數據,輸出該車今年能過橋的天數,每行輸出對應天數。假設輸入的車牌格式合法且均爲鄂A開頭,且爲小型載客汽車,不考慮節假日對政策的影響。
3 鄂A12345 鄂A67890 鄂A11111
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;
}