简单的日期计算器 输入年、月、日,输出该日期的前一天和后一天

需要用C语言编的程序

#include "stdio.h"
void main()
{
int year,month,day;
printf("请输入一个年、月、日:\n");
scanf("%d,%d,%d",&year,&month,&day);
if(year%4==0&&year%100!=0||year%400==0)
{
if(month==1||month==3||month==5||month==7||month==8||month==10)
{ if(day==31) printf("前一天:%d月%d日,后一天:%d月1日",month,day-1,month+1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
else if(month==4||month==6||month==8||month==9)
{ if(day==30) printf("前一天:%d月%d日,后一天:%d月1日",month,day-1,month+1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
else if(month==2)
{ if(day==29) printf("前一天:%d月%d日,后一天:%d月1日",month,day-1,month+1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
else if(month==12)
{ if(day==31) printf("前一天:%d月%d日,后一天:1月1日",month,day-1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
}
else
{
if(month==1||month==3||month==5||month==7||month==8||month==10)
{ if(day==31) printf("前一天:%d月%d日,后一天:%d月1日",month,day-1,month+1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
else if(month==4||month==6||month==8||month==9)
{ if(day==30) printf("前一天:%d月%d日,后一天:%d月1日",month,day-1,month+1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
else if(month==2)
{if(day==29) printf("前一天:%d月%d日,后一天:%d月1日",month,day-1,month+1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
else if(month==12)
{ if(day==31) printf("前一天:%d月%d日,后一天:1月1日",month,day-1);
else printf("前一天:%d月%d日,后一天:%d月%d日",month,day-1,month,day+1);
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-18
你的scanf()格式符的写法与你的输入格式配合会把第二个数字后面的空格当作字符读取到c变量中.
可以在你的scanf()格式控制符中的%c前面加一个空格,这样就可以按你的输入格式正确读取了.