| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 811 人关注过本帖
标题:可以运行,但是结果有点奇怪,求助~
取消只看楼主 加入收藏
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:5 
可以运行,但是结果有点奇怪,求助~
程序代码:
#include <stdio.h>
int main()
{
    int year,month,day,a,alldays,c;
    printf("请输入年月日:xxxx.x.x\n");
    scanf("%d.%d.%d",&year,&month,&day);
    
    switch(month)
    {
        case 1:a=0;break;
        case 2:a=31;break; 
        case 3:a=59;break;
        case 4:a=90;break;
        case 5:a=120;break;
        case 6:a=151;break;
        case 7:a=181;break;
        case 8:a=212;break;
        case 9:a=243;break;
        case 10:a=273;break;
        case 11:a=304;break;
        case 12:a=334;break;
    }
    if((year%4==0) && (month>2))
    {
        
        alldays=a+day+1;
        c=alldays%5;
      
      if(1 <= c <= 3)
        {
        printf("这个人在打渔");
        }
      if((c == 4)&&(c == 0))
        printf("这个人在晒网");
    }
    else
    { 
        alldays=a+day;
        c=alldays%5;
         if(1 <= c <=3)
        {
        printf("这个人在打渔");
        }
        if((c == 4)&&(c == 0))
        printf("这个人在晒网");
    }
    getchar();
    getchar();
    return 0;

}




1、    一、中国有句俗语叫“三天打鱼两天晒网”。某人从每年1月1日起开始“三天打鱼两天晒网”,问这个人在该年的某一天是“打鱼”还是“晒网”。

无论输入什么年月日 结果都是打渔。。。自己找不到是哪个地方有问题。。。
2011-10-25 20:17
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
计算闰年公式改成
if(((year%4==0) && (year%100!=0)) || (year%400==0) && (month>2))
结果还是一样。。。
2011-10-25 20:35
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
呵呵  刚刚自己也发现了~~
2011-10-25 20:41
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
程序代码:
#include <stdio.h>
int main()
{
    int year,month,day,a,alldays,c;
    printf("请输入年月日:xxxx.x.x\n");
    scanf("%d.%d.%d",&year,&month,&day);
    
    switch(month)
    {
        case 1:a=0;break;
        case 2:a=31;break; 
        case 3:a=59;break;
        case 4:a=90;break;
        case 5:a=120;break;
        case 6:a=151;break;
        case 7:a=181;break;
        case 8:a=212;break;
        case 9:a=243;break;
        case 10:a=273;break;
        case 11:a=304;break;
        case 12:a=334;break;
    }
    if(  ( ((year%4==0) && (year%100!=0)) || (year%400==0) ) && (month>2))
    {
        alldays=a+day+1;
        c=alldays%5;
      
       if((c<=1) && (c<=3))
        {printf("这个人在打渔");}
       if((c==4)||(c==0))
        {printf("这个人在晒网");}
    }
   
    else
    { 
        alldays=a+day;
        c=alldays%5;
         if((c<=1) && (c<=3))
        {printf("这个人在打渔");}
        if((c==4)||(c==0))
        {printf("这个人在晒网");}
    }
    getchar();
    getchar();
    return 0;

}


晕 。。。又出现一些莫名其妙的错误。。。比如说我输2011.10.25 没有结果。。总天数是5的倍数时 结果是:这个人在打渔这个人在晒网
。。。
2011-10-25 21:16
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
回复 10楼 beyondyf
555555555555555555
我真是太粗心了。。。。
以后怎么做程序啊。。。
2011-10-25 21:24
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
没有2个 getchar();的话  输入完后回车 黑框就消失了。。。原理我也不太懂
2011-10-25 21:30
快速回复:可以运行,但是结果有点奇怪,求助~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020723 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved