| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 933 人关注过本帖
标题:我编了可是输不出,写了一晚上了
只看楼主 加入收藏
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:17 
我编了可是输不出,写了一晚上了
编写一个c语言程序;功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值,用主函数来调用它,统计50个学生的成绩中,高于平均成绩的有多少人

题目首先我就有点乱,都说了50人了,那还要n个学生干嘛?毛意思?下面是我编的,不会做乱做的根本输不出。
#include<stdio.h>
#include<stdlib.h>

int more()
{
    int i,n,num;
    double score[50],sum=0,ave=0;
      
    for(i=1;i<=50;i++)
    {
        sum+=score[i];
        ave=sum/50;
    }
    for(i=1;i<=50;i++)
    {
        if(score[i]>ave)
        num++;
    }
    return num;
}
int main()
{
    int n;
    double score[50],ave;
        
    printf("请输入学生人数: ");
    scanf("%d,&n");
    printf("请输入分数:");
    scanf("%f",&score[50]);

    printf("高于平均分的人数有%d人",more());


    system("pause");
    return 0;

}
搜索更多相关主题的帖子: c语言程序 include double 统计 
2014-11-23 01:41
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
怎么没人应啊? 错的太多了???

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2014-11-23 02:32
yahwei
Rank: 7Rank: 7Rank: 7
来 自:湖~
等 级:黑侠
威 望:3
帖 子:145
专家分:644
注 册:2011-11-10
收藏
得分:1 
以下是引用c语言总虐我在2014-11-23 02:32:34的发言:

怎么没人应啊? 错的太多了???

首先,题目要求是将人数N做为函数的参数,题目说50人只是举个例子。
然后如果声明数组a[50],那么下标就是从0-49,而不是从1-50.

嗯,目测你的代码就只有这两个问题。

[qq]949654600[/qq]
2014-11-23 09:29
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main(void)
{    
    int N, i = 0, j = 0;
    printf("请输入学生的人数: ");
    scanf("%d", &N);
    double score[N], sum = 0.0, ave;
    srand((unsigned int)time(NULL));
    for (; i < N; i++)
    {
        score[i] = 1 + (100.0 * rand() / (RAND_MAX + 1.0));
        sum += score[i];
    }
    printf("%d名学生的总分数 = %.2lf\n", N, sum);
    ave = sum / N;
    printf("平均分数 = %.2lf\n", ave);
    for (i = 0; i < N; i++)
    {
        if (score[i] > ave)
        {
            j++;
        }
    }
    printf("超过平均分数的人数 = %d\n", j);
    return 0;
}


这段代码在C99标准的编译器中可以正常通过, VS2010没过

[ 本帖最后由 longwu9t 于 2014-11-23 15:07 编辑 ]

Only the Code Tells the Truth             K.I.S.S
2014-11-23 14:51
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 50

int main(void)
{    
    int N, i = 0, j = 0;
    double score[MAX], *psco, sum = 0.0, ave;
    psco = score;
    printf("请输入学生的人数: ");
    scanf("%d", &N);
    psco = (double*)malloc(N*sizeof(double));
    srand((unsigned int)time(NULL));
    for (; i < N; i++)
    {
        *(psco+i) = 1 + (100.0 * rand() / (RAND_MAX + 1.0));
        sum += *(psco+i);
    }
    printf("%d名学生的总分数 = %.2lf\n", N, sum);
    ave = sum / N;
    printf("平均分数 = %.2lf\n", ave);
    for (i = 0; i < N; i++)
    {
        if (*(psco+i) > ave)
        {
            j++;
        }
    }
    printf("超过平均分数的人数 = %d\n", j);
    free(psco);
    return 0;
}


这段在VS2010下通过

Only the Code Tells the Truth             K.I.S.S
2014-11-23 15:08
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
感觉出题人的意思是要VS下通过那段代码

不过成绩我用了随机数填充
改成scanf就行了

Only the Code Tells the Truth             K.I.S.S
2014-11-23 15:10
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
要用函数做啊。。。

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2014-11-23 19:47
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
回复 3 楼 yahwei
还是有错误啊,输不出。。。怎么办?

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2014-11-23 19:52
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
回复 5 楼 longwu9t
要用函数做。。。

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2014-11-23 20:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
没学会把问题分解为若干小问题。你先解决如下两个子问题:第一,如何求平均分?第二,逐个分数与平均分比较得到所求结果。两个子问题,分别对应两个函数。写出来的代码要反映清晰的逻辑,不是全混在一起写意大利面条代码。

授人以渔,不授人以鱼。
2014-11-23 20:25
快速回复:我编了可是输不出,写了一晚上了
数据加载中...
 
   



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

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