c精彩编程挑战高手9

来源:百度知道 编辑:UC知道 时间:2024/07/06 16:22:02
中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,
问这个人在以后的某一天中是“打鱼”还是“晒网”。以最简代码编写。
以最简代码编写,代码不超过30行。

参考了一下别人的程序,应该是很简练的了。
#include <stdio.h>

int yyr(int y,int m,int d)
{
int i,k;
int mon[]={0,0,1,4,0,0,1,1,2,3,3,4,4}; /*每月考虑上一月情况*/
i=y-1990;
for(k=0;i>0;i--,y--)
if(((y%4==0&&y%100!=0)||y%400==0)&&(m>2))k++;
d=(d+k+mon[m]);
d%=5;
if(d>0&&d<4)return 1;
else return 0;
}

int main()
{
int y,m,d,day;
printf("input \"year month day\":");
scanf("%d%d%d",&y,&m,&d);
day=yyr(y,m,d);
if(day)
printf("He was fishing.\n");
else
printf("He was idling.\n");
getch();
return 0;
}

你的问题相当没挑战,我想只是来找个人帮你做作业吧????