int main(int argc,char *argv[]){
int y,m,d,c[12]={31,28,31,30,31,30,31,31,30,31,30,31}
printf("Input y, m & d...\n")
while(1){
scanf("%d%d%d",&y,&m,&d)
c[1]=28+(y%4==0 && y%100 || y%400==0)
if(m>0 && m<13 && d>0 && d<=c[m-1])
break
printf("Input error, redo: ")
}
printf("Your input is %d-%d-%d\n",y,m,d)
return 0
}
#include<stdio.h>bool isday(int day,int mouth,int year)
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}
if((year%400==0)||(year%4==0&&year%100!=0)) a[1]++
if(day>a[mouth-1]||day<1)
return true
else
return false
}
void main()
{
int i,year,mouth,day
int sum,sign
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}
do
{
sum=0sign=0
puts("请输入年、月、日:")
scanf("%d%d%d",&year,&mouth,&day)
if(((year%400==0)||(year%4==0&&year%100!=0))&&mouth>2)
{
sum=day+1//闰年,记得加1
}
else sum=day
for(i=0i<mouth-1i++)
sum+=a[i]
if(year<1||mouth<1||mouth>12||isday(day,mouth,year))
{
puts("输入错误,请重新输入:")
sign=1
}
}while(sign)
printf("为第%d天\n",sum)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)