2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 输出某年某月某日的c语言程序 输入某年某月某日 输出这是今年的第几天 C语言问题...

输出某年某月某日的c语言程序 输入某年某月某日 输出这是今年的第几天 C语言问题...

时间:2024-03-19 05:42:01

相关推荐

输出某年某月某日的c语言程序 输入某年某月某日 输出这是今年的第几天 C语言问题...

匿名用户

1级

-11-07 回答

程序在提示输入错误日期后,就不能再输出天数了,应该直接退出。

我把所有可能输错的情况都加到代码里面去了,代码如下:

#include

#include

voidmain()

{

intday,year,month,er,sum;

printf("请输入年月日:");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)

{case1:sum=0;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printf("对不起,输入错误的日期!\n");

exit(-1);//输错了日期直接退出程序

break;

}

if((year%4==0)&&(year%100!=0)||(year%400==0))

er=1;

else

er=0;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

{

if(day<1||day>31)

{

printf("对不起,输入错误的日期!\n");

exit(-1);//输错了日期直接退出程序

}

}

elseif(month==4||month==6||month==9||month==11)

{

if(day<1||day>30)

{

printf("对不起,输入错误的日期!\n");

exit(-1);//输错了日期直接退出程序

}

}

if(er==1&&(day<1||day>29))

{

printf("对不起,输入错误的日期!\n");

exit(-1);//输错了日期直接退出程序

}

if(er==0&&(day<1||day>28))

{

printf("对不起,输入错误的日期!\n");

exit(-1);//输错了日期直接退出程序

}

sum=sum+day;

if(er==1&&month>2)

sum+=1;

printf("这是%d年的第%d天\n",year,sum);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。