expected primary expression before '%' token
http://acm.hrbeu.edu.cn/index.php?act=problem&id=1001&cid=20
Valid date format
code:
#include<stdio.h>
#include<string.h>
char yuefen[13][5]={"Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"};
int getyue(char a[])
{
int i,yue;
for(i=0;i<12;i++)
{
if(strcmp(a,yuefen[i])==0)
{
yue=i+1;
return yue;
}
}
return -1;
}
int leap(int y)
{
if((y%4==0&&y%100!=0)||(y%400==0))
return 1;
else return 0;
}
int judge(int m,int d,int y)
{
if((y>1000)&&(m==1||m==3||m==5||m==7||m==8||m==10||m==12)&&(d>0&&d<=31))
return 1;
else if((y>1000)&&(m==4||m==6||m==9||m==11)&&(d>0&&d<=30))
return 1;
else if((y>1000)&&leap(y)==1&&m==2&&(d>0&&d<=29))
return 1;
else if((y>1000)&&leap(y)==0&&m==2&&(d>0&&d<=28))
return 1;
else return 0;
}
int main()
{
char str[50],yue[10];
int d,m,y,flag;
while(gets(str))
{
if(str[2]=='-'&&str[5]=='-')
{
sscanf(str,"%d-%d-%d",&m,&d,&y);
if(judge(m,d,y)==1)
printf("%.2d-%.2d-%d\n",m,d,y);
else printf("Invalid\n");
}
else if(str[2]=='-'&&(str[3]>='A'&&str[3]<='S'))
{
sscanf(str,"%d-%[^-]-%d",%d,yue,&y); //明明照着书上敲的 咋编译错误啊
m=getyue(yue);
if(judge(m,d,y)==1)
printf("%.2d-%.2d-%d\n",m,d,y);
else printf("Invalid\n");
}
else if(str[2]=='/'&&str[5]=='/')
{
sscanf(str,"%d/%d/%d",&m,&d,&y);
if(judge(m,d,y)==1)
printf("%.2d-%.2d-%d\n",m,d,y);
else printf("Invalid\n");
}
else if(str[4]=='/'&&str[7]=='/')
{
sscanf(str,"%d/%d/%d",&y,&m,&d);
if(judge(m,d,y)==1)
printf("%.2d-%.2d-%d\n",m,d,y);
else printf("Invalid\n");
}
else if(str[4]=='/'&&(str[5]>='A'&&str[3]<='S'))
{
sscanf(str,"%d/%[^/]/%d",&y,yue,&d);
m=getyue(yue);
if(judge(m,d,y)==1)
printf("%.2d-%.2d-%d\n",m,d,y);
else printf("Invalid\n");
}
else printf("Invalid\n");
}
return 0;
}
额 发现手残打错东西了···
应该是&d····
好吧 请问各位大神%[^-]是什么意思?
以前从来都没见过