Copyright (c) 2016 烟台大学计算机与控制工程学院
All rights reserved.
文件名称:test.cpp
作者:何定钦
完成日期:2016年10月29日
Description:
给定一个日期,输出这个日期是该年的第几天。
Input:
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output:
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input:
2000-01-01
Sample Output:
1
代码及错误:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x,y,z,days,i;
while(scanf("%d-%d-%d",&x,&y,&z)!=EOF)
{
days=z;
for(i=1; i<y; ++i)
{
switch(i)
{
case 2:
if((x%4==0 && x%100!=0)||(x%400==0))
days+=29;
else
days+=28;
break;
case 4:
case 6:
case 9:
case 11:
days+=30;
break;
default:
days+=31;
}
}
printf("%d\n",days);
}
return 0;
}
结果:
知识点总结:
循环套循环,以及各种语句的综合运用。
心得体会:
合理运用循环,以及switch语句使得计算简单了一些。