| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:编译可以通过,但是却运行不出正确结果,请问一下哪里出了问题?
只看楼主 加入收藏
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
结帖率:90.91%
收藏
已结贴  问题点数:2 回复次数:4 
编译可以通过,但是却运行不出正确结果,请问一下哪里出了问题?
题目:
输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各等级成绩的个数。成绩分为5各等级,分别为A(90-100)、B(80-89)、C(70-79)、D(60-69)、E(0-59)。
我写的程序如下:
#include<stdio.h>
int main(void)
{
    int A,B,C,D,E,n,i;
    double average,score,sum;
    A=0;B=0;C=0;D=0;E=0;
    sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        scanf("%lf",&score);
    }
    sum+=score;
        if(score>=90&&score<=100){A=A++;}
        else if(score>=80&&score<=89){B=B++;}
        else if(score>=70&&score<=79){C=C++;}
        else if(score>=60&&score<=69){D=D++;}
        else if(score>=0&&score<=59){E=E++;}
        else{printf("errror\n");}
        average=sum/n;
        printf("%lf\n",average);
        printf("%d\n",A);
        printf("%d\n",B);
        printf("%d\n",C);
        printf("%d\n",D);
        printf("%d\n",E);
        return 0;
    }
请问一下哪个地方错了,请高手指出来。
搜索更多相关主题的帖子: 结果 运行 编译 
2009-10-17 21:14
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:1 
#include<stdio.h>
int main(void)
{
    int A,B,C,D,E,n,i;
    double average,score,sum;
    A=0;B=0;C=0;D=0;E=0;
    sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%lf",&score);
   
        sum+=score;
        if(score>=90&&score<=100)
        A=A++;
        else if(score>=80&&score<=89)
        B=B++;
        else if(score>=70&&score<=79)
        C=C++;
        else if(score>=60&&score<=69)
        D=D++;
        else if(score>=0&&score<=59)
        E=E++;
        else
        printf("errror\n");
    }
        average=sum/n;
        printf("%lf\n",average);
        printf("%d\n",A);
        printf("%d\n",B);
        printf("%d\n",C);
        printf("%d\n",D);
        printf("%d\n",E);
        return 0;
    }
2009-10-17 21:19
a4188809b
Rank: 2
等 级:论坛游民
帖 子:16
专家分:24
注 册:2009-9-19
收藏
得分:1 
楼上正解  你那for语句   大括号弄的不对 像你那样 输入了也没用 用的是你最后一次输入的数字!

return前面加个 getch(); 方便看结果!




[ 本帖最后由 a4188809b 于 2009-10-17 22:09 编辑 ]
2009-10-17 22:06
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
收藏
得分:0 
非常感谢,我大括号弄错了,的确用的是最后一次输入的数字。
改正后,可以运行出正确结果。
2009-10-17 22:18
xiaobin999
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-10-17
收藏
得分:0 
没有啊
我直接复制过去就能运行啊
2009-10-17 22:41
快速回复:编译可以通过,但是却运行不出正确结果,请问一下哪里出了问题?
数据加载中...
 
   



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

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