输入某年某月某日,判断这一天是这一年的第几天?
2016-03-03 20:43
741 查看
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
#include<stdio.h>
int main()
{
int i,j,k printf("请输入三个数分别代表某年某月某日:\n"scanf("%d%d%d",&i,&j,&k);if(((i%4==0)&&!(i%100==0))||(i%400==0){
switch(j)
{
case 1:printf("这一天是这一年的第%d天",k);break;
case 2:printf("这一天是这一年的第%d天",31+k);break;
case 3:printf("这一天是这一年的第%d天",31+29+k);break;
case 4:printf("这一天是这一年的第%d天",31+29+31+k);break;
case 5:printf("这一天是这一年的第%d天",31+29+31+30+k);break;
case 6:printf("这一天是这一年的第%d天",31+29+31+30+31+k);break;
case 7:printf("这一天是这一年的第%d天",31+29+31+30+31+30+k);break;
case 8:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k);break;
case 9:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31);break;
case 10:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31+30);break;
case 11:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31+30+31);break;
case 12:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31+30+31+30);break;
default:printf("error\n");
else
{
switch(j)
{
case 1:printf("这一天是这一年的第%d天",k);break;
case 2:printf("这一天是这一年的第%d天",31+k);break;
case 3:printf("这一天是这一年的第%d天",31+28+k);break;
case 4:printf("这一天是这一年的第%d天",31+28+31+k);break;
case 5:printf("这一天是这一年的第%d天",31+28+31+30+k);break;
case 6:printf("这一天是这一年的第%d天",31+28+31+30+31+k);break;
case 7:printf("这一天是这一年的第%d天",31+28+31+30+31+30+k);break;
case 8:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k);break;
case 9:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31);break;
case 10:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31+30);break;
case 11:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31+30+31);break;
case 12:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31+30+31+30);break;
default:printf("error\n");
}
}
return 0;
}
#include<stdio.h>
int main()
{
int i,j,k printf("请输入三个数分别代表某年某月某日:\n"scanf("%d%d%d",&i,&j,&k);if(((i%4==0)&&!(i%100==0))||(i%400==0){
switch(j)
{
case 1:printf("这一天是这一年的第%d天",k);break;
case 2:printf("这一天是这一年的第%d天",31+k);break;
case 3:printf("这一天是这一年的第%d天",31+29+k);break;
case 4:printf("这一天是这一年的第%d天",31+29+31+k);break;
case 5:printf("这一天是这一年的第%d天",31+29+31+30+k);break;
case 6:printf("这一天是这一年的第%d天",31+29+31+30+31+k);break;
case 7:printf("这一天是这一年的第%d天",31+29+31+30+31+30+k);break;
case 8:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k);break;
case 9:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31);break;
case 10:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31+30);break;
case 11:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31+30+31);break;
case 12:printf("这一天是这一年的第%d天",31+29+31+30+31+30+31+k+31+30+31+30);break;
default:printf("error\n");
else
{
switch(j)
{
case 1:printf("这一天是这一年的第%d天",k);break;
case 2:printf("这一天是这一年的第%d天",31+k);break;
case 3:printf("这一天是这一年的第%d天",31+28+k);break;
case 4:printf("这一天是这一年的第%d天",31+28+31+k);break;
case 5:printf("这一天是这一年的第%d天",31+28+31+30+k);break;
case 6:printf("这一天是这一年的第%d天",31+28+31+30+31+k);break;
case 7:printf("这一天是这一年的第%d天",31+28+31+30+31+30+k);break;
case 8:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k);break;
case 9:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31);break;
case 10:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31+30);break;
case 11:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31+30+31);break;
case 12:printf("这一天是这一年的第%d天",31+28+31+30+31+30+31+k+31+30+31+30);break;
default:printf("error\n");
}
}
return 0;
}
相关文章推荐
- Educational Codeforces Round 9-D. Longest Subsequence(筛选法)
- codeforces 600A Extract Numbers 模拟
- Android中Activity的简要启动过程
- Android学习笔记----升级SQLite数据库的最佳写法
- 理解C# 中委托的含义
- 给 Android 开发者的 RxJava 详解 Observable
- [Leetcode]@python 102. Binary Tree Level Order Traversal
- BZOJ3726 : PA2014Final Wykladzina
- 利用gitbash上传项目到github
- Fibonacci数列
- JSON与XML比较
- 30-题目1172:哈夫曼树
- 模仿modal效果
- IE中的userData
- 如何在终端中打印带颜色的文本
- Unable to simultaneously satisfy constraints.
- 深入浅出Block的方方面面
- hibernate笔记--基于主键的单(双)向的一对一映射关系
- 通过binlog来备份 恢复
- leetcode之Combination Sum