C语言程序设计实践4.6 第几天
2014-12-12 21:41
375 查看
★实验任务
Bob最近对日期产生了兴趣,所以经常翻日 。现在他有了个问题,就是一个日期会是
这一年的第几天呢?
★数据输入
输入有一行,数据格式为YYYY/MM/DD组成,具体参见示例
★数据输出
对于每个输入数据,输出一行,表示该日期是该年的第几天。
输入示例 输出示例
2006/3/12 71
代码:
#include<stdio.h>
int main(){
int a,b,c,s=0;
scanf("%d/%d/%d",&a,&b,&c);
switch (b)
{
case 12:s+=30;
case 11:s+=31;
case 10:s+=30;
case 9:s+=31;
case 8:s+=31;
case 7:s+=30;
case 6:s+=31;
case 5:s+=30;
case 4:s+=31;
case 3: if ((a%4==0&&a%100!=0)||(a%400==0))
s+=29;
else s+=28;
case 2:s+=31;
case 1:s+=c;
}
printf("%d",s);
return 0;
}
个人一开始正序考虑,搞得十分复杂,后来想想倒序递推,就简单多了。
Bob最近对日期产生了兴趣,所以经常翻日 。现在他有了个问题,就是一个日期会是
这一年的第几天呢?
★数据输入
输入有一行,数据格式为YYYY/MM/DD组成,具体参见示例
★数据输出
对于每个输入数据,输出一行,表示该日期是该年的第几天。
输入示例 输出示例
2006/3/12 71
代码:
#include<stdio.h>
int main(){
int a,b,c,s=0;
scanf("%d/%d/%d",&a,&b,&c);
switch (b)
{
case 12:s+=30;
case 11:s+=31;
case 10:s+=30;
case 9:s+=31;
case 8:s+=31;
case 7:s+=30;
case 6:s+=31;
case 5:s+=30;
case 4:s+=31;
case 3: if ((a%4==0&&a%100!=0)||(a%400==0))
s+=29;
else s+=28;
case 2:s+=31;
case 1:s+=c;
}
printf("%d",s);
return 0;
}
个人一开始正序考虑,搞得十分复杂,后来想想倒序递推,就简单多了。
相关文章推荐
- C 语言程序设计实践 4.6 第几天
- 第2周 C语言程序设计(第4版)-4.6库存报表及产品失效率图
- Flash Builder4.6 破解方法和实践
- XTU C语言程序设计实践作业4
- C语言程序设计实践3.1 ABS
- 《C语言及程序设计》实践参考——当年第几天
- 厦大小学期C语言程序设计实践(一)
- 第11周上机实践项目5——当年第几天
- C语言程序设计实践(OJ)-结构体
- C语言程序设计实践3.2 Add
- 厦大小学期C语言程序设计实践(二)
- C语言程序设计实践3.3 Area
- 厦大小学期C语言程序设计实践(三)
- 厦大小学期C语言程序设计实践(四)
- C语言程序设计实践(OJ)-全局变量、文件操作
- C语言程序设计实践-数组初步
- 厦大小学期C语言程序设计实践(五)
- C语言程序设计实践-C语言应用实践
- C语言程序设计实践(OJ)-递归函数与宏
- 第16周OJ实践1 计算该日在本年中是第几天