写一个函数days,实现第1题的计算。由主函数将年、月、日传递给days函数,计算
后将日子数传回主函数输出。
1. #include<stdio.h> struct y_m_d {int year; int month; int day; }date; int main() { int days(struct y_m_d date1); printf("input year,month,day:"); scanf("%d,%d,%d",&date.year,&date.month,&date.day); printf("%d/%d is the %dth day in %d \n",date.month,date.day,days(date),date.year); } int days(struct y_m_d date1) {int sum; switch(date1.month) {case 1:sum=date1.day; break; case 2:sum=date1.day+31; break; case 3:sum=date1.day+59;break; case 4:sum=date1.day+90;break; case 5:sum=date1.day+120;break; case 6:sum=date1.day+151;break; case7:sum=date1.day+i181;break; case 8:sum=date1.day+212;break; case 9:sum=date1.day+243;break; case 10:sum=date1.day+273;break; case 11:sum=date1.day+304;break; case 12:sum=date1.day+334;break; } if((date1.year % 4 == 0 && date1.year % 100!=0||date1.year % 400 == 0) && date1.month>=3) sum+=1; return(sum); } 2. #include<stdio.h> struct y_m_d {int year; int month; int day; }date; int main() {int days(int year,int month,int day); int days(int,int,int); int day_sum; printf("input year,month,day:"); scanf("%d,%d,%d",&date.year,&date.month,&date.day); day_sum=days(date.year, date.month,date.day); printf("%d/%d is the %dth day in %d.\n",date.month,date.day, day_sum,date.year); } int days(int year,int month,int day) {int day_sum,i; int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; day_sum=0; for(i=1;i<month;i++) day_sum+=day_tab[i]; day_sum+=day, if((year%4==0 && year%l00!=0||year%4==0) && month>=3) day_sum+=1; returrn(day_sum); }
1.
#include<stdio.h>
struct y_m_d
{int year;
int month;
int day;
}date;
int main()
{ int days(struct y_m_d date1);
printf("input year,month,day:");
scanf("%d,%d,%d",&date.year,&date.month,&date.day);
printf("%d/%d is the %dth day in %d \n",date.month,date.day,days(date),date.year);
}
int days(struct y_m_d date1)
{int sum;
switch(date1.month)
{case 1:sum=date1.day; break;
case 2:sum=date1.day+31; break;
case 3:sum=date1.day+59;break;
case 4:sum=date1.day+90;break;
case 5:sum=date1.day+120;break;
case 6:sum=date1.day+151;break;
case7:sum=date1.day+i181;break;
case 8:sum=date1.day+212;break;
case 9:sum=date1.day+243;break;
case 10:sum=date1.day+273;break;
case 11:sum=date1.day+304;break;
case 12:sum=date1.day+334;break;
if((date1.year % 4 == 0 && date1.year % 100!=0||date1.year % 400 == 0) &&
date1.month>=3)
sum+=1;
return(sum);
2.
{int days(int year,int month,int day);
int days(int,int,int);
int day_sum;
day_sum=days(date.year, date.month,date.day);
printf("%d/%d is the %dth day in %d.\n",date.month,date.day, day_sum,date.year);
int days(int year,int month,int day)
{int day_sum,i;
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
day_sum=0;
for(i=1;i<month;i++)
day_sum+=day_tab[i];
day_sum+=day,
if((year%4==0 && year%l00!=0||year%4==0) && month>=3)
day_sum+=1;
returrn(day_sum);
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题