2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言实现输入某年某月某日 判断这一天是这一年的第几天 并输出今年还剩下多少天?

C语言实现输入某年某月某日 判断这一天是这一年的第几天 并输出今年还剩下多少天?

时间:2020-09-20 05:01:19

相关推荐

C语言实现输入某年某月某日 判断这一天是这一年的第几天 并输出今年还剩下多少天?

例如:输入,12,25,则输出12月25号为的第360天,今年还剩下6天。

#include<stdio.h>#include<string.h>#include<math.h>bool judge(int n);//判断闰年还是平年 void split(char *s,int a[]);//提取输入的字符串中的日期信息(年、月、日) int main(void){int run[12]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年每月天数映射数组 int ping[12]={31,28,31,30,31,30,31,31,30,31,30,31};//平年每月天数映射数组 char s[10]; int a[3]={0};//a[0]是年份、a[1]是月份、a[2]是天数 int sum=0;gets(s);split(s,a);if(judge(a[0])){//先判断闰年还是平年for(int i=a[1];i<=12;i++){sum+=run[i];}sum-=a[2];printf("%d月%d号为%d年第%d天\n",a[1],a[2],a[0],366-sum); }else{for(int i=a[1];i<=12;i++){sum+=ping[i];}sum-=a[2];printf("%d月%d号为%d年第%d天\n",a[1],a[2],a[0],365-sum); }printf("今年还剩下%d天\n",sum);return 0;}bool judge(int n){//判断闰年if(n%4==0&&n%100!=0||n%400==0){return true;}else{return false;}}void split(char *s,int a[]){//分割输入的字符串,获取年月日信息int n=0;int i=0;while(*s!='\0'){if(*(s+1)==','||*(s+1)=='\0'){for(int j=0;j<=n;j++){a[i]+=(*(s-j)-48)*(int)pow(10,j);}n=0;i++;s++;continue;}else if(*s!=','){n++;}s++;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。