| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1292 人关注过本帖
标题:【求助】【BUG改正】输入10个学生5门课的成绩 分别用函数实现
只看楼主 加入收藏
山丹老司机
Rank: 2
等 级:论坛游民
帖 子:20
专家分:12
注 册:2016-11-1
结帖率:80%
收藏
已结贴  问题点数:5 回复次数:3 
【求助】【BUG改正】输入10个学生5门课的成绩 分别用函数实现
/**************************
内容:课后作业14题;
编写:;
**************************/

/*************************
函数名:fun1;
作用;计算第i名学生的平均成绩;
返回值:无;
**************************/

float fun1(float a[10][5])
{
    int i,j;
    float sum[10]={0};
    for(i=0;i<10;i++)
    {
        for(j=0;j<5;j++)
        {
            sum[i]+=a[i][j];
        }
        sum[i]/=5;
    printf("第%d位同学的平均成绩为%f\n",i+1,sum[i]);
    }
   
   
}

/*************************
函数名:fun2;
作用:计算每门课的平均分
返回值:无;
**************************/
float fun2(float a[10][5])
{
    int i,j;
    float sum[10]={0};
    for(j=0;j<5;j++)
    {
        for(i=0;i<10;i++)
        {
            sum[j]+=a[i][j];
        }
    sum[j]/=5;
    printf("第%d门科的平均成绩为%f\n",j+1,sum[j]);
    }
   
   
}

/*************************
函数名:fun3;
作用:找出成绩中的最高分相应的学生和课程;
返回值:无;
**************************/
float fun3(float a[10][5])
{
    int i,j,x,y,max=a[0][0];
    for(i=0;i<10;i++)
    {
        for(j=0;j<5;j++)
        {
        if(max>a[i][j])
        max=a[i][j];
        
        }
    }
        x=i+1;
        y=j+1;
        printf("最大成绩为%f,是%d同学的%d门课程\n",max,x,y);
}

/*************************
函数名:主函数
返回值:0;
**************************/
#include<stdio.h>
int main()
{
    printf("%d\n",sizeof(long));
    float a[10][5]={0};
    int i,j;                //i:学生编号;j:学科编号
    for(i=0;i<10;i++)
    {
        for(j=0;j<5;j++)
        {
            printf("请输入%d同学的第%d科成绩!",i+1,j+1);
            scanf("%f",&a[i][j]);
        }
    }
    fun1(a);
    fun2(a);
    fun3(a);
    return 0;
}



初学者,帮忙修改,编译时老是提醒。
2016-11-04 22:59
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:5 
#include<stdio.h>  放到开头,自定义函数fun3有误修改如下
 /*************************
函数名:fun3;
 作用:找出成绩中的最高分相应的学生和课程;
 返回值:无;
**************************/
float fun3(float a[10][5])
 {
     float max;
     
     int t,k,l,i,j;
     max=a[0][0];
     for(i=0;i<10;i++)
     {
         for(j=0;j<5;j++)
         {
         if(max<=a[i][j]){
         max=a[i][j];
         t=i;  //记录当前最大数的i,j值
         k=j;
         }
         }
     }
         //x=i+1;  //循环直到最后一个数即a[10][5] ,所以i最后为10,j最后为5
         //y=j+1;
         printf("最大成绩为%f,是第%d位同学的第%d门课程\n",max,t+1,k+1);
 }

[此贴子已经被作者于2016-11-5 00:43编辑过]


早知做人那么辛苦!  当初不应该下凡
2016-11-04 23:08
山丹老司机
Rank: 2
等 级:论坛游民
帖 子:20
专家分:12
注 册:2016-11-1
收藏
得分:0 
回复 2楼 炎天
谢谢!
2016-11-15 09:09
山丹老司机
Rank: 2
等 级:论坛游民
帖 子:20
专家分:12
注 册:2016-11-1
收藏
得分:0 
回复 2楼 炎天
谢谢!
2016-11-15 09:09
快速回复:【求助】【BUG改正】输入10个学生5门课的成绩 分别用函数实现
数据加载中...
 
   



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

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