| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 811 人关注过本帖
标题:可以运行,但是结果有点奇怪,求助~
只看楼主 加入收藏
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
回复 10楼 beyondyf
555555555555555555
我真是太粗心了。。。。
以后怎么做程序啊。。。
2011-10-25 21:24
净★星
Rank: 1
来 自:四川
等 级:新手上路
帖 子:14
专家分:8
注 册:2011-6-20
收藏
得分: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) && (month>2))             这里改为if(((year%4==0) && (year%100!=0)) || (year%400==0)
    {
        
        alldays=a+day+1;
        c=alldays%5;
      
      if(1 <= c <= 3)                   这里改为 if(c>=1&&c<=3)
        {
        printf("这个人在打渔");
        }
      if((c == 4)&&(c == 0))      这里改为if((c==4)||(c==0))
        printf("这个人在晒网");
    }
    else
    {
        alldays=a+day;
        c=alldays%5;
         if(1 <= c <=3)           这里改为if((c==4)||(c==0))

        {
        printf("这个人在打渔");
        }
        if((c == 4)&&(c == 0))              这里改为if((c==4)||(c==0))

        printf("这个人在晒网");
    }
    getchar();           没看懂这两个getchar()有什么用
    getchar();
    return 0;

}

2011-10-25 21:27
ai_44
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-9-26
收藏
得分:0 
没有2个 getchar();的话  输入完后回车 黑框就消失了。。。原理我也不太懂
2011-10-25 21:30
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
唉,我重写了一遍你的程序,对比看看吧。不要加那些getch()之类的东西,我所知道的IDE在调试时都可以保持窗口的,没必要自己加这种程序不需要的东西。
程序代码:
#include<stdio.h>
int main()
{
    const int preDays[] = {0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
    int y, m, d, c;
    printf("请输入年月日:xxxx.x.x\n");
    scanf("%d.%d.%d", &y, &m, &d);
    c = ((y % 4 == 0 && y % 100 != 0 || y % 400 == 0) && m > 2) ? 1 : 0;
    c += preDays[m] + d;
    c %= 5;
    if(c == 0 || c == 4)
        printf("这个人在晒网\n");
    else
        printf("这个人在打渔\n");
    return 0;
}




重剑无锋,大巧不工
2011-10-25 21:35
净★星
Rank: 1
来 自:四川
等 级:新手上路
帖 子:14
专家分:8
注 册:2011-6-20
收藏
得分:0 
回复 13楼 ai_44
把int main()改为void main()试下呢
2011-10-25 21:41
daijingcheng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-10-18
收藏
得分: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) && (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 22:21
yj269172025
Rank: 2
等 级:论坛游民
帖 子:41
专家分:81
注 册:2011-9-29
收藏
得分:0 
不想解答,我被问题的提出逗的没力了!
2011-10-25 22:26
快速回复:可以运行,但是结果有点奇怪,求助~
数据加载中...
 
   



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

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