完善程序 【要求】 1.打开T盘中的文件myf0c,按以下程序功能完善文件中的程序。 2.修改后的源程序仍保存在T盘myf0c文件中。 【程序功能】 根据输入的年份及该年中的第几天,计算并输出这一天的“年/月/日”。例如,若输入“2010,100”,则

admin2019-04-04  47

问题 完善程序
【要求】
1.打开T盘中的文件myf0c,按以下程序功能完善文件中的程序。
2.修改后的源程序仍保存在T盘myf0c文件中。
【程序功能】
根据输入的年份及该年中的第几天,计算并输出这一天的“年/月/日”。例如,若输入“2010,100”,则输出“2010/4/10(表示2010年的第100天是4月10日)”。
提示:能被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份是平年。
【待完善的源程序】
#include
#includeintleap(intyear)
{ inty;
y=year%4==0&& (1) ||year%400==0;returny;
}
voidmonth_day(intyear,intyearday,intmonth,intday)
{ intk,p;
inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
p=leap(year);
for(k=1;yearday> (2) ;k++)
yearday=yearday-tab[p][k];
month=k;
day= (3) ;
}
intmain()
{ intyear,days,month,day;
printf("Inputyearanddays!\n");
scanf("%d,%d",&year,&days);
if(leap(year)==1&&days<=366||leap(year)==0&&days<=365)
{ month_day(year,        days, (4) );
printf("\n%d/%d/%d",year,month,day);
}
else       puts("daysiswrong!");
getch();
return0;
}

选项

答案#include #includeintleap(intyear) { inty; y=year%4==0&& year%100!=0||year%400==0;returny; } voidmonth_day(intyear,intyearday,intmonth,intday) { intk,p; inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; p=leap(year); for(k=1; yearday> tab[p][k] ;k++) yearday=yearday-tab[p][k]; month=k; day= yearday; } intmain() { intyear,days,month,day; printf("Inputyearanddays! \n"); scanf("%d,%d",&year,&days); if(leap(year)==1&&days<=366||leap(year)==0&&days<=365) { month_day(year,days,&month,&day ); printf("\n%d/%d/%d",year,month,day); } else puts("daysiswrong!"); getch(); return0; }

解析
转载请注明原文地址:https://kaotiyun.com/show/CIhZ777K
0

最新回复(0)