| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 506 人关注过本帖
标题:大家看看,为什么这个程序可以运行却不输出数据????????????? ...
只看楼主 加入收藏
yan66665
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-4-3
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
大家看看,为什么这个程序可以运行却不输出数据??????????????????
#include<stdio.h>
main()
{
int y1,y2,m1,m2,n,d;
printf("请输入出生年月:");
scanf("%d%d",&y1,&m1);
printf("请输入计算年月:");
scanf("%d%d",&y2,&m2);
for(n=y1,d=0;n<y2;n++)
{
if((n%4==0&&n%100!=0)||(n%400==0))
d+=366;
{for(n=m1,d=0;n>0;n--)
{
switch(n)
{
case 1:d=d+31;break;
case 2:d=d+29;break;
case 3:d=d+31;break;
case 4:d=d+30;break;
case 5:d=d+31;break;
case 6:d=d+30;break;
case 7:d=d+31;break;
case 8:d=d+31;break;
case 9:d=d+30;break;
case 10:d=d+31;break;
case 11:d=d+30;break;
case 12:d=d+31;break;
default:printf("erro");
}
}
}
else
d+=365;
{for(n=m1,d=0;n>0;n--)
{
switch(n)
{
case 1:d=d+31;break;
case 2:d=d+29;break;
case 3:d=d+31;break;
case 4:d=d+30;break;
case 5:d=d+31;break;
case 6:d=d+30;break;
case 7:d=d+31;break;
case 8:d=d+31;break;
case 9:d=d+30;break;
case 10:d=d+31;break;
case 11:d=d+30;break;
case 12:d=d+31;break;
default:printf("erro");
}
}
}
}
printf("%d",d);
}
搜索更多相关主题的帖子: 输出 数据 运行 
2010-04-03 17:55
Hong91
Rank: 2
等 级:论坛游民
帖 子:28
专家分:19
注 册:2010-3-27
收藏
得分:4 
把if和else对应的部分用花括号括起来
2010-04-03 18:07
yan66665
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-4-3
收藏
得分:0 
哦,谢谢
2010-04-03 18:11
yan66665
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-4-3
收藏
得分:0 
不输出结果怎么回事
2010-04-03 18:14
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:4 
#include<stdio.h>
void main()
{
  int y1,y2,m1,m2,n,d;
  printf("请输入出生年月:");
  scanf("%d%d",&y1,&m1);
  printf("请输入计算年月:");
  scanf("%d%d",&y2,&m2);
  for(n=y1,d=0;n<y2;n++)
  {
     if((n%4==0&&n%100!=0)||(n%400==0))
     {
         d+=366;
        for(n=m1,d=0;n>0;n--)
        switch(n)
        {
            case 1:d=d+31;break;
            case 2:d=d+29;break;
            case 3:d=d+31;break;
            case 4:d=d+30;break;
            case 5:d=d+31;break;
            case 6:d=d+30;break;
            case 7:d=d+31;break;
            case 8:d=d+31;break;
            case 9:d=d+30;break;
            case 10:d=d+31;break;
            case 11:d=d+30;break;
            case 12:d=d+31;break;
            default:printf("erro");
        }
     }
    else
    {
        d+=365;
        for(n=m1,d=0;n>0;n--)
        {
             switch(n)
             {
                case 1:d=d+31;break;
                case 2:d=d+29;break;
                case 3:d=d+31;break;
                case 4:d=d+30;break;
                case 5:d=d+31;break;
                case 6:d=d+30;break;
                case 7:d=d+31;break;
                case 8:d=d+31;break;
                case 9:d=d+30;break;
                case 10:d=d+31;break;
                case 11:d=d+30;break;
                case 12:d=d+31;break;
                default:printf("erro");
             }
        }
    }
  }
  printf("%d\n",d);
}

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-04-03 18:38
韩明海
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:253
专家分:749
注 册:2010-4-3
收藏
得分:4 
为什么没有输出没看出来,如果你是想算2000。4到2003.5有多少天,那感觉你的算法有问题,
2010-04-03 23:15
新手上路中
Rank: 4
等 级:业余侠客
帖 子:49
专家分:204
注 册:2010-3-26
收藏
得分:4 
你有没有发现,在年的循环里,你用到n了,在月的循环里,你还用到它了.这样程序在执行循环时,就有可能陷入死循环,因为他的值是变的嘛,月份的最大值为12,肯定小于年(比如2010)的,结果就出不来了.建议你给月份重新定义一个循环变量
2010-04-04 09:10
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:4 
for(n=y1,d=0;n<y2;n++)        n在加
  {
     if((n%4==0&&n%100!=0)||(n%400==0))
     {
         d+=366;
        for(n=m1,d=0;n>0;n--) n再减

结果就是死循环。
2010-04-04 12:05
快速回复:大家看看,为什么这个程序可以运行却不输出数据??????????? ...
数据加载中...
 
   



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

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