| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 526 人关注过本帖
标题:[求助]请问我这个程序有什么问题?
只看楼主 加入收藏
mido11
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-11-27
收藏
 问题点数:0 回复次数:7 
[求助]请问我这个程序有什么问题?
[bold]Input [/bold]只有一组测试数据。
测试数据的第一行有一个整数N(1<=N<=100),表示一共有编号为1至N的N门课程。
第二行有N个正整数,第i个数Si说明第i门课程可以容纳的学生数,所有的Si均不超过800。
随后有若干行,每行一个正整数i,说明有某同学选择了第i门课。
输入的最后一行为0,表示数据结束。

[bold]Output [/bold]根据从小到大的顺序输出那些报名人数超过了课程容量限制的课程编号,编号之间用一个空格分隔(不用担心最后一个编号后面多出来的空格)。
[bold]Sample Input [/bold]
3
2 2 1
1
3
3
1
2
1
2
0
[bold]Sample Output [/bold]
1 3  

#include<stdio.h>
int main()
{
    int n,i,j;
    char a[2][100];
    for(i=0;i<=100;i++)
    a[0][italic]=i+1;
    scanf("%d",&n);
    if(n<=100&&n>=1)
    {
        for(i=0;i<=n-1;i++)
    {
        scanf("%d",&a[1][italic]);
        if(a[1][italic]>n)
        i--;
    }
     do
     {
        scanf("%d",&j);
        a[1][j-1]--;
     }while(j!=0);
     for(i=0;i<=n-1;i++)
     {
        if(a[1][italic]<0)
        printf("%d ",a[0][italic]);
     }
     }
     printf("\n");
     return 0;
}[/italic][/italic][/italic][/italic][/italic]

[italic][italic][italic][italic][italic]我学校的online judge判定是wrong answer 为什么??[/italic][/italic][/italic][/italic][/italic]
[italic][italic][italic][italic][italic]ps:如果有更简便的方法请告知```感谢!!![/italic][/italic][/italic][/italic][/italic]
搜索更多相关主题的帖子: 测试 正整数 
2007-11-27 23:00
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
正好没事,我来试试.

倚天照海花无数,流水高山心自知。
2007-11-27 23:04
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
程序代码:
#include<stdio.h>

int main()
{
     #ifdef ONLINE_JUDGE
    freopen ("Round and Round We Go.txt","r",stdin);
#endif
    int n;
    int Max_data[101];
    int i;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&Max_data[i+1]);
    }
    while(scanf("%d",&i)&&i!=0)
    {
        Max_data[i]--;
    }
    for(i=0;i<n;i++)
    {
        if(Max_data[i+1]<0)
        {
            printf("%d ",i+1);
        }
    }
    printf("\n");
    return 0;
}

倚天照海花无数,流水高山心自知。
2007-11-27 23:18
mido11
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-11-27
收藏
得分:0 
高手阿````
请问为什么我那个程序不行呢
调试的时候是符合题目的例子的阿
2007-11-28 09:26
mido11
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-11-27
收藏
得分:0 
程序代码:
#include
int main()
{
int n,i,j;
char a[2][100];
for(i=0;i<=100;i++)
a[0][i]=i+1;
scanf("%d",&n);
if(n<=100&&n>=1)
{
for(i=0;i<=n-1;i++)
{
scanf("%d",&a[1][i]);
if(a[1][i]>n)
i--;
}
do
{
scanf("%d",&j);
a[1][j-1]--;
}while(j!=0);
for(i=0;i<=n-1;i++)
{
if(a[1][i]<0)
printf("%d ",a[0][i]);
}
}
printf("\n");
return 0;
}


为什么我这个不行啊??
2007-11-28 13:18
白居易
Rank: 1
来 自:北京
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-5-28
收藏
得分:0 
#ifdef ONLINE_JUDGE
    freopen ("Round and Round We Go.txt","r",stdin);
#endif
这段话是啥意思啊?

革命尚未成功,同志仍需努力
2007-11-28 13:45
huxs
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-10-7
收藏
得分:0 
#include<stdio.h>
int main()
{
    int n,i,j;
    char a[2][100];
    for(i=0;i<=100;i++)
    a[0][i]=i+1;
    scanf("%d",&n);
    if(n<=100&&n>=1)
    {
        for(i=0;i<=n-1;i++)
    {
        scanf("%d",&a[1][i]);
        if(a[1][i]>n)
        i--;
    }
     do
     {
        scanf("%d",&j);
        a[1][j-1]--;
     }while(j!=0);
     for(i=0;i<=n-1;i++)
     {
        if(a[1][i]<0)
        printf("%d ",a[0][i]);
     }
     }
     printf("\n");
     return 0;
}
楼主的这样一个改,输出就对了...
2007-11-28 14:20
huxs
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-10-7
收藏
得分:0 
不过觉得楼主的这条语句是不是要改一下呢:
 if(a[1][i]>n)
        i--;
觉得依题"第二行有N个正整数,第i个数Si说明第i门课程可以容纳的学生数,所有的Si均不超过800"应该改成:
 if(a[1][i]>800)
        i--;
2007-11-28 14:27
快速回复:[求助]请问我这个程序有什么问题?
数据加载中...
 
   



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

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