C语言:输入某年某月某日,判断这一天是这一年的第几天?
2017-12-25 15:31
1931 查看
#include <stdio.h> //输入某年某月某日,判断这一天是这一年的第几天? int getDaysByMonth(int m,int d,char flag) { int c; if(flag=='r'){//闰年 if(m==2){//2月是29天 return (31+d); }else if(m>2){ c=0; m=m-1; for(;m>0;m--) { if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ c+=31; }else if(m==2){ c+=29; }else{ c+=30; } } return c+d; }else{ return d; } }else{//平年 if(m==2){//2月是28天 return (31+d); }else if(m>2){ c=0; m=m-1; for(;m>0;m--) { if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){ c+=31; }else if(m==2){ c+=28; }else{ c+=30; } } return c+d; }else{ return d; } } } void main() { int y,m,d,count=1; printf("请输入年月日(例如2017-01-01):"); scanf("%d-%d-%d",&y,&m,&d); while( ((((y%4==0 && y%100!=0)||(y%400==0)) && (m==2)) && d>29) || (y%400!=0 && y%4!=0 && m==2 && d>28) || ((m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)&&d>31) || ((m==4 || m==6 || m==9 || m==11)&& d>30)){ printf("请输入年月日(例如2017-01-01):"); scanf("%d-%d-%d",&y,&m,&d); } //先判断是否为闰年 if((y%4==0 && y%100!=0)||(y%400==0)){//闰年 count=getDaysByMonth(m,d,'r'); }else{//平年 count=getDaysByMonth(m,d,'n'); } printf("%d-%02d-%02d是今年的第%d天\n",y,m,d,count); putchar('\n'); }
相关文章推荐
- c语言:/*题目:输入某年某月某日,判断这一天是这一年的第几天?*/
- C语言经典算法:输入某年某月某日,判断这一天是这一年的第几天?
- 题目:输入某年某月某日,判断这一天是这一年的第几天?
- 算法:输入某年某月某日,判断这一天是这一年的第几天
- 初学java:输入某年某月某日,判断这一天是这一年的第几天
- 题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来, 然后再加上5天即本月的第几天,特殊情况, 闰年且输入月份大于3时需考虑多加一天
- 【程序3】题目:输入某年某月某日,判断这一天是这一年的第几天?
- 2.输入某年某月某日,判断这一天是这一年的第几天?
- java练习:输入某年某月某日,判断这一天是这一年的第几天?
- 初学python:输入某年某月某日,判断这一天是这一年的第几天
- 题目:输入某年某月某日,判断这一天是这一年的第几天?
- 【程序14】 TestDay.java 题目:输入某年某月某日,判断这一天是这一年的第几天?
- Java:输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,判断这一天是这一年的第几天?
- 【程序4】 题目:输入某年某月某日,判断这一天是这一年的第几天?
- 题目:输入某年某月某日,判断这一天是这一年的第几天?
- 第四题:输入某年某月某日,判断这一天是这一年的第几天?
- C语言实例3——输入某年某月某日,判断这一天是这一年的第几天?
- 输入某年某月某日,是闰年还是平年,判断这一天是这一年的第几天?
- 【程序14】 题目:输入某年某月某日,判断这一天是这一年的第几天?