本文共 3570 字,大约阅读时间需要 11 分钟。
返回:
【项目5-当年第几天】
定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果。#include[参考解答] 解法1:int days(int y, int m, int d);int main(){ int year, month, day; printf("输入年 月 日: "); scanf("%d %d %d", &year, &month, &day); printf("这是该年的第 %d 天\n", days(year, month, day)); return 0;}int days(int y, int m, int d){ }
#include解法2:int days(int y, int m, int d);int main(){ int year, month, day; printf("输入年 月 日: "); scanf("%d %d %d", &year, &month, &day); printf("这是该年的第 %d 天\n", days(year, month, day)); return 0;}int days(int y, int m, int d){ int sum=d; //下面要加上前m-1月的天数 int i; for(i=1; i
#include解法3:后面要学习数组。然后就可以这样来了,30行之内解决问题(对数组充满期待吧):int days(int y, int m, int d);int main(){ int year, month, day; printf("输入年 月 日: "); scanf("%d %d %d", &year, &month, &day); printf("这是该年的第 %d 天\n", days(year, month, day)); return 0;}int days(int y, int m, int d){ int sum=d; //加上前m-1月的天数 int i; for(i=1; i
#include解法4:有同学写成下面的代码,结果对,但这样的程序的确不好:int days(int y, int m, int d);int main(){ int year, month, day; printf("输入年 月 日: "); scanf("%d %d %d", &year, &month, &day); printf("这是该年的第 %d 天\n", days(year, month, day)); return 0;}int days(int y, int m, int d){ int sum=d; int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31}; int i; for(i=1; i 2&&((y%4==0&&y%100!=0)||y%400==0)) //若闰年,且晚于2月,加一天 sum++; return sum;}
#includeint days(int y, int m, int d);int main(){ int year, month, day; printf("输入年 月 日: "); scanf("%d %d %d", &year, &month, &day); printf("这是该年的第 %d 天\n", days(year, month, day)); return 0;}int days(int year, int month, int day){ int t; if(year%4==0&&year%100!=0||year%400==0) { switch(month) { case 1: t=day; break; case 2: t=day+31; break; case 3: t=day+31+29; break; case 4: t=day+31+29+31; break; case 5: t=day+31+29+31+30; break; case 6: t=day+31+29+31+30+31; break; case 7: t=day+31+29+31+30+31+30; break; case 8: t=day+31+29+31+30+31+30+31; break; case 9: t=day+31+29+31+30+31+30+31+31; break; case 10: t=day+31+29+31+30+31+30+31+31+30; break; case 11: t=day+31+29+31+30+31+30+31+31+30+31; break; case 12: t=day+31+29+31+30+31+30+31+31+30+31+30; break; } return t; } else { switch(month) { case 1: t=day; break; case 2: t=day+31; break; case 3: t=day+31+28; break; case 4: t=day+31+28+31; break; case 5: t=day+31+28+31+30; break; case 6: t=day+31+28+31+30+31; break; case 7: t=day+31+28+31+30+31+30; break; case 8: t=day+31+28+31+30+31+30+31; break; case 9: t=day+31+28+31+30+31+30+31+31; break; case 10: t=day+31+28+31+30+31+30+31+31+30; break; case 11: t=day+31+28+31+30+31+30+31+31+30+31; break; case 12: t=day+31+28+31+30+31+30+31+31+30+31+30; break; } return t; }}
转载地址:http://qwufl.baihongyu.com/