⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 应用.txt

📁 这是一个模拟“三天打鱼
💻 TXT
字号:
#include
//三天打鱼两天晒网.c


/*输入2003年后的年月日,判断这天是该打鱼还是该晒网!*/

void main()
{
int day,month,year;
int i,sumday,leap,sumtmp,ret;
sumday = 0;
printf("请输入2003年后的年份\n");
scanf("%d",&year);
while(year < 2003)
{
  printf("输入的年份错误,请重新输入2003年后的年份\n");
  scanf("%d",&year);
}
printf("请输入月份\n");
scanf("%d",&month);
while(month < 1||month >12)
{
  printf("输入的月份错误!请重新输入月份\n");
  scanf("%d",&month);
}
printf("请输入日期\n");
scanf("%d",&day);
while( Day(year,month,day) == -1)
{
  printf("输入的日期错误!请重新输入日期\n");
  scanf("%d",&day);
}

for(i = 2003; i <  year; i++)
{
  leap = Year(i);
  if(leap == 1) { sumday += 1; }
}
sumtmp = Month(year,month,day);
sumday += sumtmp;
ret = sumday%5;
if(ret >= 1 && ret <= 3)
{
  printf("这天该打鱼!\n");
}
else 
{
  printf("这天该晒网!\n");
}
return 0;
}



/*判断该天是该年的第几天*/
int Month(int year,int month,int day)
{
int  sum;
int  leap;
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
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("data error");break;
}
sum = sum + day;
leap = Year(year);
if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
return sum;
}

/*判断该年是否是闰年*/
int Year(int year)
{
int leap;
if(year%400==0||(year%4==0&&year%100!=0))
  leap = 1;/*是闰年*/
else
  leap = 0;
return leap;
}

/*判断输入日期是否合法*/
int Day(int year,int month,int day)
{
int flag = 0;
if(day < 1){
  flag = -1;
  return flag;
}
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
  if(day > 31)
   flag = -1;
  break;
case 4:
case 6:
case 9:
case 11:
  if(day > 30)
   flag = -1;
  break;
case 2:
  if( Year(year) && day > 29 ) flag = -1;
  else if( (Year(year) == 0 )&& day > 28 ) flag = -1;
  break;
}
return flag;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -