标题:全局变量学生成绩系统,运行的时候炸了,无法运行
只看楼主
AirF3101
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2017-3-13
结帖率:66.67%
已结贴  问题点数:20 回复次数:11 
全局变量学生成绩系统,运行的时候炸了,无法运行

#include "stdafx.h"
#define n 15

float average(float array[])
{
    int i;
    float aver=0, sum = array[0];
    for (i = 0;i < n;i++)
    {
        sum = sum + array[i];
        aver = sum/ n;
    }
    return(aver);
}

void paixu( float num[])
{
    int i, j, t;
    for (i = 1;i <= n;i++)
        for (j = 1;j <= n - i - 1;j++)
        {
            if (num[i] > num[i + 1])
            {
                t = num[1];num[i] = num[i + 1];num[i + 1] = t;
            }
        }
    for (i =0;i < n;i++)
        {
        printf("%f\n", num[i]);

        }
}


int main()
{
    printf("                        学生某科成绩统计表                    \n");
    printf("请输入学生成绩:\n");
    float ave, score[n];
    int i;
    for (i = 0;i < n;i++)
    {
        scanf("%d", &score[i]);
    }
    paixu(score);
    ave = average(score);
    printf("平均成绩=%.2f\n", ave);
    printf("学生排序成绩:\n");
}
搜索更多相关主题的帖子: average include return 
2017-03-14 16:30
AirF3101
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2017-3-13
得分:0 
麻烦再帮我加一个各个分数等级百分比!谢谢啦!!!
2017-03-14 16:31
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:20 
程序代码:
#include <stdio.h>

#define N 15

float average(float arr[], int num)
{
    int i;
    float sum =0.0;
    for (i = 0;i < num;i++)
    {
        sum = sum + arr[i];
    }
    return  sum/num;
}

void paixu(float arr[],int num)
{
    int i, j;
    float t;
    for (i = 0;i <num;i++)
    {
        for (j = i;j < num;j++)
        {
            if (arr[i] > arr[j])
            {
                t = arr[i];
                arr[i] = arr[j];
                arr[j] = t;
            }
        }
    }
}

int main()
{
    printf("                学生某科成绩统计表                \n");
    printf("请输入学生成绩:\n");
    float ave, score[N];
    int i;
    for (i = 0;i <N;i++)
    {
        scanf("%f", &score[i]);
    }
    ave = average(score, N);
    printf("你所录入的成绩单如下:\n");
    for (i = 0;i < N;i++)
    {
        if(i!=0 && i%5==0) printf("\n");
        printf("%10.2f", score[i]);
    }
    printf("\n平均成绩=%.2f\n", ave);
    printf("\n学生排序后成绩单如下:\n");
    paixu(score,N);
    for (i = 0;i < N;i++)
    {
        if(i!=0 && i%5==0) printf("\n");
        printf("%10.2f", score[i]);
    }
}

DO IT YOURSELF !
2017-03-14 16:33
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
关于分数段百分比的没写  也不怎么难  自己尝试一下

DO IT YOURSELF !
2017-03-14 16:33
AirF3101
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2017-3-13
得分:0 
回复 4楼 wp231957
谢谢啦,我再揣摩揣摩,希望尽快入门呀,哎
2017-03-14 16:49
AirF3101
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2017-3-13
得分:0 
回复 3楼 wp231957
炸了,程序框能跳出来,没有结果
2017-03-14 16:59
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
我测试没有问题啊  你把炸了的图片发出来 我看看

这是分数段的代码  你给他添加到后面
程序代码:
int a5=0,a6=0,a7=0,a8=0,a9=0;
    for (i = 0;i < N;i++)
    {
        if(score[i]<60) a5++;
        if(score[i]>=60 && score[i]<70) a6++;
        if(score[i]>=70 && score[i]<80) a7++;
        if(score[i]>=80 && score[i]<90) a8++;
        if(score[i]>=90 && score[i]<=100) a9++;
    }
    printf("\n\n分数分布情况如下:\n");
    printf("60分以下:   %d 人 占比%.2f% \n",a5,1.0*a5/N*100);
    printf("60分--70分: %d 人 占比%.2f% \n",a6,1.0*a6/N*100);
    printf("70分--80分: %d 人 占比%.2f% \n",a7,1.0*a7/N*100);
    printf("80分--90分: %d 人 占比%.2f% \n",a8,1.0*a8/N*100);
    printf("90分--100分: %d 人 占比%.2f% \n",a9,1.0*a9/N*100);



DO IT YOURSELF !
2017-03-14 17:03
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
以下是引用AirF3101在2017-3-14 16:59:33的发言:

炸了,程序框能跳出来,没有结果
你确定是我的代码  一点都没改吗

DO IT YOURSELF !
2017-03-14 17:08
AirF3101
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2017-3-13
得分:0 
2017-03-14 17:25
AirF3101
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2017-3-13
得分:0 
回复 8楼 wp231957
没改的,程序不可能哪有问题吧,会不会哪里直接跳不来了?我把它弄在6.0也不行呢,哈哈哈
#include <stdio.h>

#define N 15

float average(float arr[], int num)
{
    int i;
    float sum = 0.0;
    for (i = 0;i < num;i++)
    {
        sum = sum + arr[i];
    }
    return  sum / num;
}

void paixu(float arr[], int num)
{
    int i, j;
    float t;
    for (i = 0;i <num;i++)
    {
        for (j = i;j < num;j++)
        {
            if (arr[i] > arr[j])
            {
                t = arr[i];arr[i] = arr[j];arr[j] = t;
            }
        }
    }
}

int main()
{
    printf("                学生某科成绩统计表                \n");
    printf("请输入学生成绩:\n");
    float ave, score[N];
    int i;
    for (i = 0;i <N;i++)
    {
        scanf("%f", &score[i]);
    }
    ave = average(score, N);
    printf("你所录入的成绩单如下:\n");
    for (i = 0;i < N;i++)
    {
        if (i != 0 && i % 5 == 0)        printf("\n");
        printf("%10.2f", score[i]);
    }
    printf("\n平均成绩=%.2f\n", ave);
    printf("\n学生排序后成绩单如下:\n");
    paixu(score, N);
    for (i = 0;i < N;i++)
    {
        if (i != 0 && i % 5 == 0)         printf("\n");
        printf("%10.2f", score[i]);
    }
}
2017-03-14 17:28



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




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

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