一只程序猫 发表于 2020-3-23 10:28:14

三天打鱼两天晒网

本帖最后由 一只程序猫 于 2020-3-23 12:46 编辑

e题目 :中国有句俗话 “三天打鱼两天晒网 ” 。输入年、月、日三个整数,从输入的年份的1月1日开始计算,
请问输入的某月某日在该年中是在“大鱼”还是在“晒网” 。

问题分析:
1.先算出年是不是闰年,再算日
        switch(month)
        {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:day =31;break;//以上31天
                case 4:
                case 6:
                case 9:
                case 11:day =30;break;// 30天
                case 2 :day =29;break;// 29天
                default:day =0 ;//1~12月以外无效       
        }
2.把年除五
3.除余看它是在打鱼还是晒网


不会做

墨羽岚 发表于 2020-3-23 10:33:36

{:10_260:}是有什么疑问吗,还是只是交流

一只程序猫 发表于 2020-3-23 10:38:59

墨羽岚 发表于 2020-3-23 10:33
是有什么疑问吗,还是只是交流

对,不会写{:10_266:}

一只程序猫 发表于 2020-3-23 10:59:20

Cool_Breeze 发表于 2020-3-23 14:02:07

不知道理解的对不对!
#include <stdio.h>
void runnian(int *array,int y);
int main(void)
{
        static int year;
        static int array={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        printf("请输入年号:\n");
        scanf("%d",&year);
        runnian(array,year);
        register int i,j,k,l;
        i=0,j=0;
        for (k=0;k<12;k++)
                for (l=0;l<array;l++)
                {
                        if (i<3)
                        {
                                printf("%4d年%2d月%2d日打鱼!\n",year,k+1,l+1);
                                i++;
                        }
                        else
                        {
                                printf("%4d年%2d月%2d日晒网!\n",year,k+1,l+1);
                                j++;
                                if (j==2) j=0,i=0;
                        }
                }
        return 0;
}
void runnian(int *array,int y)
{
        if ( y%4 == 0 && y%100 != 0) array=(29);
        else if (! (y%400)) array=(29);
        else array=(28);       
}
2020年12月20日晒网!
2020年12月21日打鱼!
2020年12月22日打鱼!
2020年12月23日打鱼!
2020年12月24日晒网!
2020年12月25日晒网!
2020年12月26日打鱼!
2020年12月27日打鱼!
2020年12月28日打鱼!
2020年12月29日晒网!
2020年12月30日晒网!
2020年12月31日打鱼!

一只程序猫 发表于 2020-3-23 14:05:30

Cool_Breeze 发表于 2020-3-23 14:02
不知道理解的对不对!

谢谢,程序一月二月没输出

Cool_Breeze 发表于 2020-3-23 14:11:33

本帖最后由 Cool_Breeze 于 2020-3-23 14:18 编辑

一只程序猫 发表于 2020-3-23 14:05
谢谢,程序一月二月没输出

有啊!
#include <stdio.h>
void runnian(int *array,int y);
int main(void)
{
        FILE *fp = fopen("d:\\result.txt","wb");
        static int year;
        static int array={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        printf("请输入年号:\n");
        scanf("%d",&year);
        runnian(array,year);
        register int i,j,k,l;
        i=0,j=0;
        for (k=0;k<12;k++)
                for (l=0;l<array;l++)
                {
                        if (i<3)
                        {
                                fprintf(fp,"%4d年%2d月%2d日打鱼!\r\n",year,k+1,l+1);
                                i++;
                        }
                        else
                        {
                                fprintf(fp,"%4d年%2d月%2d日晒网!\r\n",year,k+1,l+1);
                                j++;
                                if (j==2) j=0,i=0;
                        }
                }
        fclose(fp);
        return 0;
}
void runnian(int *array,int y)
{
        if ( y%4 == 0 && y%100 != 0) array=(29);
        else if (! (y%400)) array=(29);
        else array=(28);       
}
2020年 1月10日晒网!
2020年 1月11日打鱼!
2020年 1月12日打鱼!
2020年 1月13日打鱼!
2020年 1月14日晒网!
2020年 1月15日晒网!
2020年 1月16日打鱼!
2020年 1月17日打鱼!
2020年 1月18日打鱼!
2020年 1月19日晒网!
2020年 1月20日晒网!
2020年 1月21日打鱼!
2020年 1月22日打鱼!
2020年 1月23日打鱼!
2020年 1月24日晒网!
2020年 1月25日晒网!
2020年 1月26日打鱼!
2020年 1月27日打鱼!
2020年 1月28日打鱼!
2020年 1月29日晒网!
2020年 1月30日晒网!
2020年 1月31日打鱼!
2020年 2月 1日打鱼!
2020年 2月 2日打鱼!
2020年 2月 3日晒网!
2020年 2月 4日晒网!
2020年 2月 5日打鱼!
2020年 2月 6日打鱼!
2020年 2月 7日打鱼!
2020年 2月 8日晒网!
2020年 2月 9日晒网!
2020年 2月10日打鱼!
2020年 2月11日打鱼!
2020年 2月12日打鱼!
2020年 2月13日晒网!
2020年 2月14日晒网!
2020年 2月15日打鱼!
2020年 2月16日打鱼!
2020年 2月17日打鱼!
2020年 2月18日晒网!
2020年 2月19日晒网!
2020年 2月20日打鱼!
2020年 2月21日打鱼!
2020年 2月22日打鱼!
2020年 2月23日晒网!
2020年 2月24日晒网!
2020年 2月25日打鱼!
2020年 2月26日打鱼!
2020年 2月27日打鱼!
2020年 2月28日晒网!
2020年 2月29日晒网!

一只程序猫 发表于 2020-3-23 14:14:11

Cool_Breeze 发表于 2020-3-23 14:11
有啊!

哦哦,我编译没有,抱歉,谢谢
页: [1]
查看完整版本: 三天打鱼两天晒网