标题:我的期末作业,最后求百分比得出来的是负值,还有两个警告搞不掉,求大神指 ...
只看楼主
马楠伯杰罗
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-29
结帖率:0
已结贴  问题点数:20 回复次数:14 
我的期末作业,最后求百分比得出来的是负值,还有两个警告搞不掉,求大神指点
这是我的期末作业,录入少于30人的成绩,输入负值时结束录入,然后进行各种统计
一下是运行结果
请按学号输入学生0-100之间的成绩,回车键确认,输入负值时输入完成
2014101:89
2014102:79
2014103:69
2014104:59
2014105:49
2014106:39
2014107:-1
不及格人数为:3
不及格的有:
2014104:59
2014105:49
2014106:39
班级平均分为:64
及格的同学有:
2014101:89
2014102:79
2014103:69
各阶段所占百分比:
60分一下:-13%
60-69分:-13%
70-79分:-13%
80-89分:-13%
90-99分:-13%
100分:-13%

Press any key to continue

以下是我的程序


#include"stdio.h"
int aver(int a,int b)
    {int aver;
    aver=a/b;
    return aver;
    }
void bi(int a[],int b[])
    {int i;
     printf("及格的同学有:\n");
     for(i=0;i<30;i++)
         if(a[i]>=60)
             printf("%d:%d\n",b[i],a[i]);
    }
fen(int a[])
    {
    int i,stu[6];
    for(i=0;i<30;i++)
        if(a[i]<60||a[i]>0)stu[0]=stu[0]+1;
        else if(a[i]<70)stu[0]=stu[1]+1;
        else if(a[i]<80)stu[0]=stu[2]+1;
        else if(a[i]<90)stu[0]=stu[3]+1;
        else if(a[i]<100)stu[0]=stu[4]+1;
        else if(a[i]=100)stu[0]=stu[5]+1;
        return stu[6];
    }
void main()
    {
    int i,b,d=0,sum=0,score[30],count=0,stu2[6];
    long int j,num[30];
    printf("请按学号输入学生0-100之间的成绩,回车键确认,输入负值时输入完成\n");
        for(j=2014101,i=0;j<=2014130,i<30;i++,j++)
            num[i]=j;
        for(i=0;i<30;i++)
            {printf("%d:",num[i]);
            scanf("%d",&b);
            d++;
            score[i]=b;
            if(b<60&&b>0)
                count++;
            if(b<0)
                break;
            sum+=b;}
            printf("不及格人数为:%d\n不及格的有:\n",count);
        for(i=0;i<30;i++)
            if(score[i]<60&&score[i]>0)
                printf("%d:%d\n",num[i],score[i]);
        printf("班级平均分为:%d\n",aver(sum,d-1));
            bi(score,num);
            stu2[6]=fen(score);
        printf("各阶段所占百分比:\n");
        printf("60分一下:%d%%\n",100*stu2[0]/(d-1));
        printf("60-69分:%d%%\n",100*stu2[1]/(d-1));
        printf("70-79分:%d%%\n",100*stu2[2]/(d-1));
        printf("80-89分:%d%%\n",100*stu2[3]/(d-1));
        printf("90-99分:%d%%\n",100*stu2[4]/(d-1));
        printf("100分:%d%%\n",100*stu2[5]/(d-1));
        
    }



还有两个警告,完全搞不懂
D:\green\VC6\Common\MSDev98\Bin\888.c(19) : warning C4700: local variable 'stu' used without having been initialized
D:\green\VC6\Common\MSDev98\Bin\888.c(51) : warning C4700: local variable 'stu2' used without having been initialized
搜索更多相关主题的帖子: 百分比 统计 
2015-05-29 12:51
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:7 
有这发贴的功夫把这两条告警信息贴到百度里就知道怎么回事了。

你的stu和stu2没初始化。

重剑无锋,大巧不工
2015-05-29 12:56
马楠伯杰罗
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-29
得分:0 
回复 2楼 beyondyf
百度告诉我没有初始化,但我不知道怎么初始化,是刚上来的定义么,还是引用函数之前定义一下什么的
2015-05-29 12:58
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
那建议你还是回去重新看书吧

重剑无锋,大巧不工
2015-05-29 13:01
马楠伯杰罗
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-29
得分:0 
回复 4楼 beyondyf
你直接告诉我不好吗,还有百分比那里怎么搞
2015-05-29 13:02
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
我可以直接封掉你的帖子

重剑无锋,大巧不工
2015-05-29 13:04
马楠伯杰罗
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-29
得分:0 
回复 6楼 beyondyf
你这个人很奇怪,我问个问题你干嘛要封我
2015-05-29 13:05
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
这智商我无法与你沟通。请看看本版公告,算了,你找不到的,我复制给你——“本版禁止毫不思索的求作业。凡此类帖子一概删除。”。

重剑无锋,大巧不工
2015-05-29 13:08
马楠伯杰罗
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-29
得分:0 
回复 8楼 beyondyf
调试了很多遍,就这两个问题解决不了,我又不是专业的
2015-05-29 13:10
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:7 
b版今天是怎么了?和以前的风格不像啊
to楼主:你的代码实在是该扔掉重新写,问题太多了。

总有那身价贱的人给作业贴回复完整的代码
2015-05-29 13:39



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




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

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