| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 441 人关注过本帖
标题:学生成绩录入 求解答哪错了?
只看楼主 加入收藏
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
学生成绩录入 求解答哪错了?
程序代码:
#include"stdio.h"
#include"math.h"

    float pstu_average(float af[10],float stu_subf[5][10]);
    float psub_average(float bf[5],float stu_subjf[5][10]);
    float sub_maxpoint(int cf[2],float stu_subjef[5][10]);
    float square_cut(int kf,float stu_subjectf[5][10]);

    float k,a[10]={0},b[5]={0},c[2]={0},stu_sub[5][10];
    int x;

main()
{
   
    int i,j;
    printf("请输入每个学生单科成绩");

    for(i=0;i<=4;i++)
    {
        for(j=0;j<=9;j++)
           scanf("%5f",&stu_sub[i][j]);
           printf("\n");
    }

    printf("0代表求每个学生的平均分\n");
    printf("1代表求每科目的平均分\n");
    printf("2代表求所有分数中的最高分所对应的学生和科目\n");
    printf("3代表求所有学生平均分的方差\n");
    printf("请输入你要进行的操作");
    printf("\n");
    scanf("%d",&x);

    if(x==0)
    {
        pstu_average(a,stu_sub);
        for(i=0;i<=9;i++)
            printf("%5.3f",a[i]);
    }
    else if(x==1)
    {
        psub_average(b,stu_sub);
        for(i=0;i<=4;i++)
            printf("%5.3f",b[i]);
    }
    else if(x==2)
    {
        sub_maxpoint(c,stu_sub);
        printf("学生与课程标号分别为");
        for(i=0;i<=1;i++)
            printf("%3d",c[i]);
    }
    else if(x==3)
    {
        square_cut(k,stu_sub);
        printf("平均方差为%f",k);
    }

    /*函数一求每个学生的平均分*/
     float pstu_average(float af[10],float stu_subf[5][10])
    {
        float sumstu=0;
        int i,j,n=0;
        for(i=0;i<=9;i++)
        {
            for(j=0;j<=4;j++)
            {
                sumstu=sumstu+stu_subf[j][i];
                af[n++]=sumstu/5;
            }
            sumstu=0;
        }
    }

    /*函数二:求每科目的平均分*/
    void float psub_average(float bf[5],float stu_subf[5][10])
    {
        float sumsub=0;
        int i,j;
        for(i=0;i<=4;i++)
        {
            for(j=0;j<=9;j++)
            {
                sumsub=sumsub+stu_subjf[i][j]);
                bf[i]=sumsub/10;
            }
            sumsub=0;
        }

/*函数三:求所有分数中最高分对应的学生和科目*/
        float sub_maxpoint(int c[2],float stu_subjef[5][10])
        {
            int i,j,max;
            max=stu_subjef[0][0];
            for(i=0;i<=4;i++)
                for(j=0;j<=9;j++)
                    if(stu_subjef[i][j]>max)
                    {
                        max=stu_subjef[i][j];
                        c[0]=i;
                        c[1]=j;
                    }
        }

/*函数四:求平均分的方差*/
        float square_cut(int kf,float stu_subjectf[5][10])
        {
            int i,j,t[10]={0},sumpstu=0;sumpsub=0;

            float pstu_average(float af[10],float stu_subf[5][10]);
            pstu_average(t,stu_subjectf);

            for(i=0;i<=9;i++)
                sumpstu=sumpstu+pow(t[i],2);
            for(j=0;j<=9;j++)
                sumpsub=sumpsub+t[j];

            kf=sumpstu/10-pow(sumpsub,2)/100;
            return kf;
        }


 
大概都是相似的错误 求高手指点 先谢了
搜索更多相关主题的帖子: 录入 
2011-05-06 15:09
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:10 
你的函数的返回值有问题,LZ自己改吧!还有main()后面少了一个},把所有的东西都搞进去了!
程序代码:
    void pstu_average(float af[10],float stu_subf[5][10]) //
    {
        float sumstu=0;
        int i,j,n=0;
        for(i=0;i<=9;i++)
        {
            for(j=0;j<=4;j++)
            {
                sumstu=sumstu+stu_subf[j][i];
                af[n++]=sumstu/5;
            }
            sumstu=0;
        }
    }

    /*函数二:求每科目的平均分*/
    void  psub_average(float bf[5],float stu_subf[5][10]) //
    {
        float sumsub=0;
        int i,j;
        for(i=0;i<=4;i++)
        {
            for(j=0;j<=9;j++)
            {
                sumsub=sumsub+stu_subjf[i][j]);
                bf[i]=sumsub/10;
            }
            sumsub=0;
        }

      /*函数三:求所有分数中最高分对应的学生和科目*/
      void sub_maxpoint(int c[2],float stu_subjef[5][10]) //
        {
            int i,j,max;
            max=stu_subjef[0][0];
            for(i=0;i<=4;i++)
                for(j=0;j<=9;j++)
                    if(stu_subjef[i][j]>max)
                    {
                        max=stu_subjef[i][j];
                        c[0]=i;
                        c[1]=j;
                    }
        }


[ 本帖最后由 qq1023569223 于 2011-5-6 15:47 编辑 ]

   唯实惟新 至诚致志
2011-05-06 15:43
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
对啊  怎么没人响应 唉 人都这么沉默啊大虾们
2011-05-06 21:13
犹豫情人
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:58
专家分:24
注 册:2010-7-1
收藏
得分:5 
楼主这个程序的错还真多呢!!看得头疼!我是个菜鸟,刚开始学习!正好用你这个锻炼了!!呵呵。不过难度有点大!
2011-05-06 22:14
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
哈哈 还是二楼的有耐心看   我是没耐心再看学生管理系统了

从大一就开始看  一直看到大二都快完事了

                                         
===========深入<----------------->浅出============
2011-05-06 22:27
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
回复 4楼 犹豫情人
是啊 我也刚学的  求指教啊 呵呵
2011-05-06 22:42
快速回复:学生成绩录入 求解答哪错了?
数据加载中...
 
   



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

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