能帮我看看嘛,谢谢前辈们
题目:6、伦敦奥运会倒计时
题目描述
假定现在已是2012年,请编写程序,计算2012年伦敦奥运会倒计时的天数并输出。已知伦敦奥运会的开幕日期是2012年7月27日。用户输入日期的范围必须是2012年1月1日— 2012年7月26日。要求程序中编写函数int CountDown(int year,int month,int day),来计算从用户输入的日期year-month-day到伦敦奥运会开幕日之间的倒数天数。
提示:所求天数= month这个月的总天数-day+(month+1到6月所有这些月份天数之和)+27。此程序可适当地参考实验预习3中程序设计题1。
输入描述
用户输入的日期的格式必须是year month day。其中year应是2012,month必须满足1≤month≤7。输入的数据之间用空格隔开。
输出描述
输出为一行“距离2012伦敦奥运会还有x天。”,其中x为求出的倒计时的天数。
样例输入
2012 2 5
样例输出
距离2012伦敦奥运会还有173天。
我的代码:(这里i=month,i++啊应该是从下个月开始加一直加到六月啊,可得出的值十分小,不知道算法哪里出错了)
#include<stdio.h>
int main()
{
int CountDown(int year,int month,int day);
int y,m,d;
int aum;
scanf("%d %d %d",&y,&m,&d);
if(m>=1 && m<=7)
{
aum=CountDown(y,m,d);
printf("距离%d伦敦奥运会还有%d天。\12",y,aum);
}
else
printf("ERROR\12");
}
int CountDown(int year,int month,int day)
{
int sum;
int t[6]={31,29,31,30,31,30};
int i;
for(i=month;i<6;i++)
{
if(month==2)
sum=29-day+t[i]+27;
else if(month%2==0)
sum=30-day+t[i]+27;
else if(month%2!=0)
sum=31-day+t[i]+27;
}
return (sum);
}