标题:它老是说我的程序的答案有问题,求高手解答!
只看楼主
雨后新晴
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-2
结帖率:50%
已结贴  问题点数:20 回复次数:7 
它老是说我的程序的答案有问题,求高手解答!
Redraiment的老家住在工业区,日耗电量非常大。是政府的眼中钉肉中刺,但又没办法,这里头住的可都是纳税大户呀。 今年7月,又传来了不幸的消息,政府要在7、8月对该区进行拉闸限电。但迫于压力,限电制度规则不会太抠门,政府决定从7月1日停电,然后隔一天到7月3日再停电,再隔两天到7月6日停电,一次下去,每次都比上一次晚一天。 Redraiment可是软件专业的学生,怎么离得开计算机。如果停电,就“英雄无用武之地”了。呵呵。 所以他开始盘算起自己回家的日子了,他想知道自己到家后到底要经历多少天倒霉的停电。你能帮他算一算吗?

Input
输入包括多组数据。 每组数据包括一行:redraiment到家的日期。 输入以0/0结束。

Output
对应每个输入包括一个输出。
为redraiment回家后停电的天数(包括到家那天)。


#include<stdio.h>
#define m 62
main()
{
    int i,j,M,N,x,sum=0;
    int a[m];
        scanf("%d/%d",&M,&N);
        while(M!=0&&N!=0)
        {
            for(i=0;i<62;i++)
                a[i]=0;
            for(i=0,j=1;i<62;i=i+j)
            {
                j++;
                a[i]=1;
            }
           if(M==8)
               x=31+N-1;
           if(M==7)
               x=N-1;
           for(i=x;i<62;i++)
               sum=sum+a[i];
           printf("%d",sum);

               scanf("%d/%d",&M,&N);
            sum=0;
        }
}
它老是说我的程序的答案有问题,谁帮我看看哪儿出错了/,谢谢哈
搜索更多相关主题的帖子: 软件专业 计算机 拉闸限电 工业区 眼中钉 
2011-11-23 14:53
wuyijiang07
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:74
专家分:177
注 册:2011-10-21
得分:2 
嗯,有问题吗?结果好像没有问题吧,不知道楼主说的是什么问题
2011-11-23 15:25
雨后新晴
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-2
得分:0 
就是在一个程序测试平台上测试啊,它的结果显示是我的程序答案错误,我都不知道哪里有错
2011-11-23 15:35
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
得分:10 
我是从a[1]开始的,把它当作7月1号的,如果是停电,就赋值1,不停电就还是0不变;
程序代码:
#include <stdio.h>
main()
{
    int mouth,day,i,j=1,a[63]={0},sum;
    for(i=1;i<63;i=i+j)  //对停电的日子赋值1,不停电还是0不变
    {
        a[i]=1;j++;
    }
    printf("请输入到家的日期:");
    while(scanf("%d%d",&mouth,&day)!=EOF)
    {
        sum=0;
        if(mouth==8)
            day=day+31; //如果是8月份,则日期加上31
        for(i=day;i<63;i++)  //检查是否为1,找到1,就在停电的天数上加1
            if(a[i]==1)
                sum++;
        printf("共断电%d天\n\n",sum);
        printf("请输入到家的日期:");
    }
}
2011-11-23 15:42
xiaoshuai481
Rank: 2
等 级:论坛游民
帖 子:17
专家分:14
注 册:2011-11-3
得分:2 
没问题啊
2011-11-23 15:43
雨后新晴
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-2
得分:0 
回复 4楼 luchar
可是这样的话。如果输入的是5月1号也是可以执行的,就不符合了啊,如果可以的话帮我看看我的成粗中哪里有问题吧。万分感谢哈!
2011-11-23 15:59
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
得分:4 
回复 6楼 雨后新晴
那就加个判断语句
程序代码:
#include <stdio.h>
main()
{
    int mouth,day,i,j=1,a[63]={0},sum;
    for(i=1;i<63;i=i+j)  //对停电的日子赋值1,不停电还是0不变
    {
        a[i]=1;j++;
    }
    printf("请输入到家的日期:");
    while(scanf("%d/%d",&mouth,&day)!=EOF)
    {
        sum=0;
        if(mouth==0&&mouth==0)
        break;
        if(mouth!=7&&mouth!=8)
        {    
            printf("输入错误\n");break;
        }
        else if(mouth==8)
            day=day+31; //如果是8月份,则日期加上31
        for(i=day;i<63;i++)  //检查是否为1,找到1,就在停电的天数上加1
            if(a[i]==1)
                sum++;
        printf("共断电%d天\n\n",sum);
        printf("请输入到家的日期:");
    }
}


[ 本帖最后由 luchar 于 2011-11-23 16:28 编辑 ]
2011-11-23 16:23
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:2 
以后再发OJ题目请把网址附带上

                                         
===========深入<----------------->浅出============
2011-11-23 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-356021-1-1.html




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

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