学院计划在新年举行联欢晚会,要求每个班级都要准备节目。为了让班上同学有紧迫感,班长希望编写一个倒计时程序,输入日期,显示距离下一个新年的天数days
。例:输入“2021-11-11”,显示“还有51天到新年”。
输入格式:
输入以"-"分隔的当前日期。
输出格式:
以格式“还有days
天到新年”输出还有多少天到新年。无多余空格及其他字符。
输入样例:
2021-11-11
输出样例:
还有51天到新年
#include<stdio.h>
int main()
{
int a,b,c,d,i,sum,days;
scanf("%d-%d-%d",&a,&b,&c);
if((a%4==0&&a%100!=0)||a%400==0)
{int e[11]={31,29,31,30,31,30,31,31,30,31,30};
for(i=0;i<(b-1);i++) {
sum+=e[i];}
d=sum+c;
days=366-d+1;
}
else
{int e[11]={31,28,31,30,31,30,31,31,30,31,30};
for(i=0;i<(b-1);i++) {
sum+=e[i];}
d=sum+c;
days=365-d+1;
}
printf("还有%d天到新年",days);
return 0;}
特别需要注意的是,在条件语句里进行变量的定义时,其只在这条语句中有效,也就是说,这里定义的int e[11]只在{}的语句中有效,所以需要在条件语句中分别使用循环来直接使用定义的数组,而不能将数组分开定义后使用一个循环来计算。