江中命 2019-11-16 11:01 采纳率: 100%
浏览 610
已采纳

急!三天打鱼两天晒网问题,帮忙看一下哪里出错?为什么通不过第一组测试用例?非常感谢。(不用啦已经修改成功了!超开心!

背景:
中国有句老话,"三天打鱼两天晒网”。假设渔民老张从1990年1月1日开始"三天打鱼两天晒网”,那么请你帮助推算出在以后某一天中,老张是在"打鱼”,还是在"晒网”。
输入:
第一行是测试的组数。以后每一行是一组要测试的时间,有三个数据,分为表示为年、月、日。
输出:
根据输入的日期,打印出相应的情况(打鱼还是晒网),具体格式见测试用例。
图片说明
发现输入
1
1992 10 25这样单独一组数据也没有输出
但程序编译什么的都没有问题,思路应该也没有错阿!
想了很久了还是不明白。

#include
int main()
{
int year[100],mon[100],day[100],n,i,j,k,days,flag;
scanf("%d",&n);
int num[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=0;i {
flag=1;
scanf("%d %d %d",&year[i],&mon[i],&day[i]);
if(year[i]%400==0||(year[i]%4==0&&year[i]%100!=0)) num[2]=num[2]+1;
if(year[i]9999) {printf("year is error!\n");flag=0;continue;}
if((mon[i]12)&&flag==1) {printf("month is error!\n");flag=0;continue;}
if((day[i]num[mon[i]])&&flag==1){printf("Day is error!\n");flag=0;continue;}

for(k=1990;k<year[i];k++)

{
if(k%400==0||(k%4==0 && k%100!=0)) days+=366;

else days+=365;

}
for(j=1;j<mon[i];j++)
{
days+=num[j];
}
days+=day[i];
if((days%5==3||days%5==2||days%5==1)&&flag==1)
printf("He was fishing on %d.%d.%d\n",year[i],mon[i],day[i]);
if((days%5==4||days%5==0)&&flag==1)
printf("He was basking on %d.%d.%d\n",year[i],mon[i],day[i]);
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-16 14:02
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧