C语言,输入今天的日期,输出明天的日期,哪儿错了吗?

不管怎么输入都是输出输入的年份以及1月1日,不知道为什么。... 不管怎么输入都是输出 输入的年份以及1月1日,不知道为什么。 展开
 我来答
a05213471
2017-02-16 · TA获得超过718个赞
知道小有建树答主
回答量:229
采纳率:73%
帮助的人:116万
展开全部
       int y,m,d;
int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("依次输入年、月、日,逗号隔开: ");
scanf("%d,%d,%d",&y,&m,&d);//你想用逗号隔开,%d也要用逗号隔开,否则输入时用空格隔开
if(y%4==0&&y%100!=0||y%400==0)
month[1]=29;

if(m==12&&d==31)
{
y=y+1;
m=1;
d=1;
}
else
{
if(d/month[m-1]==1)//%换成/,不然输入日期是1号时会有问题
{
++m;
d=1;
}
else
    ++d;
}
printf("明天的日期为:%d年%d月%d日",y,m,d);
丿我了个擦灬
2017-02-16 · 超过30用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:52.7万
展开全部
两个错误:1.scanf("%d%d%d", &y,&m,&d); -->scanf("%d,%d,%d", &y,&m,&d); 逗号隔开,逗号呢?
2. if(d%month[m-1]== 1; -->if((d%month[m-1]) == 0)
还有建议楼主啊,条件判断把括号加上,比如if(((y%4 == 0)&&(y%100 == 0))||(y%400 == 0))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式