ZKX's LAB

输入某年某月某日 判断这一天 输入某年某月某日,判断这一天的下一天是几月几号

2021-04-28知识11

C语言编程:输入某年某月某日,判断这一天是一年的第几天 |#include输入某年某月某2113日,判断这一天是5261这一年的第4102几天?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|1653m=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\",。

题目:输入某年某月某日,判断这一天是这一年的第几天? 下面是我改的你的程序,有问题的地方我加了注释了,你可以跟你以前的对比一下。可以运行,能正确判断闰年的天数。includeint main(){int year,month,day,sum=0,leap;printf(\"输入某年某月某日:\");scanf(\"%d%d%d\",&year,&month,&day);容易粗心输入格式错误,就把%d后面的逗号去了。switch(month){case 1:sum=0;break;case后的应该是数字而不是字符,也就是数字没有单引号case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf(\"输入错误\");break;}sum=sum+day;if(year%400=0|(year%4=0&year%100。0))leap=1;elseleap=0;if(leap=1&month>;2)/判断leap是否为1应为:leap=1,而不是赋值leap=1。sum+;printf(\"%d\\n\",sum);}

输入某年某月某日,判断这一天的下一天是几月几号 package arithmetic;import java.util.Calendar;输入某年某月某日,判断这一天是一年的第几天?author sunRainAmazingpublic class GetDayOfYear {public static void main(String[]args){getDay_switchCase(2017,1,10);getDay_switchCase(2017,3,10);getDay_array(2017,1,10);getDay_array(2016,3,10);getDay_Calendar(2016,1,10);getDay_Calendar(2017,3,10);}求输入相应的年月日,输出对应的多少天采用switch case形式param year 年param month 月param day 日public static void getDay_switchCase(int year,int month,int day){1、定义相关的变量int sumDays=0;对应的总天数2、判断是否为闰年并且月份大于2 若是总天数多一天if((year%4=0&year%100。0|year%400=0)&month>;2){sumDays=1;将闰年的二月份多出的一天加上}3、加上之前几个月的天数for(int i=1;i;i+){switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:sumDays+31;break;case 4:case 6:case 9:case 11:sumDays+30;break;case 2:sumDays+28;}}4、加上当月对应的天数sumDays+day;System.out.println(year+\"年month+\"月day+\"日是今年的第sumDays+\"天!。

随机阅读

qrcode
访问手机版