请高手帮忙做一道C语言题~~

《计算机技术基础(C)》课程综合性实验指导单适用专业:理工科(非计算机专业)一、实验题目:基于数组和函数的成绩计算二、实验目的:通过该实验把C语言中的几个主要知识(如:顺... 《 计算机技术基础(C) 》课程综合性实验指导单

适用专业:理工科(非计算机专业)

一、实验题目:
基于数组和函数的成绩计算

二、实验目的:
通过该实验把C语言中的几个主要知识(如:顺序结构、选择结构、循环结构、数组、函数等)得到综合应用。

三、实验设备及环境:
硬件:多媒体计算机

软件:Windows系列或DOS系列的操作系统、C语言

四、实验内容及要求:
1.设计主函数,在主函中应该有正确输入或调用每个学生的学号及各科成绩(输入可以根据不同的情况采用不同的输入方法)。

要求:输入时有必要的提示信息。

2.设计子函数,可以求每个学生的平均成绩,每门课的平均成绩、成绩的最大值、最小值等、并保存在数组中;

要求:每个学生至少设计两个子函数。

3.最后结果输出。要求:输出格式要界面直观、清晰大方、格式规范。
问题补充:不好意思,我是新手,貌似没分了~~嘿嘿……高手们帮帮忙,小弟在此跪谢了!
展开
 我来答
松柏草9f5bdde
2010-06-27
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
其实写程序时用结构体就简单多了,考虑你是新手,我就不用结构体把程序写的好懂些!你参考着看看吧!
#include <stdio.h>

void stuave(float a[][100],int b,int n)
{
int i,j;
float s;
for(i=0;i<n;i++)
{
s=0;
for(j=1;j<=b;j++)
s+=a[i][j];
a[i][b+1]=s/b;
}
}
void subave(float a[][100],int b,int n)
{
int i,j;
float s;
for(j=1;j<=b;j++)
{
s=0;
for(i=0;i<n;i++)
s+=a[i][j];
a[i][j]=s/b;
}
}
void maxmin(float a[][100],int b,int n)
{
int i,j;
float max,min;
for(j=1;j<=b;j++)
{
max=min=a[0][j];
for(i=1;i<n;i++)
{
if(a[i][j]>max)
max=a[i][j];
if(a[i][j]<min)
min=a[i][j];
}
a[i+1][j]=max;
a[i+2][j]=min;
}
}
void main()
{
int i,j,n,b;
printf("请输入要统计同学的人数b: ");
scanf("%d",&b);
printf("请输入科目总数n: ");
scanf("%d",&n);
float a[100][100];
for(i=0;i<n;i++)
{
printf("请输入第%d个同学的学号num:",i+1);
scanf("%f",&a[i][0]);
for(j=1;j<=b;j++)
{
printf("请输入其sub%d科目的成绩d: ",j);
scanf("%f",&a[i][j]);
}
}
stuave(a,b,n);
subave(a,b,n);
maxmin(a,b,n);
for(i=0;i<n;i++)
printf("学号为%-0.0f的同学的平均成绩是:%.1f\n",a[i][0],a[i][b+1]);
for(j=1;j<=b;j++)
{
printf("sub%d科目的平均成绩是: %.1f\n",j,a[n][j]);
printf("sub%d科目成绩的最大值: %.1f\n",j,a[n+1][j]);
printf("sub%d科目成绩的最小值: %.1f\n",j,a[n+2][j]);
}
}
从前有座山吖z
2010-06-26 · TA获得超过383个赞
知道答主
回答量:61
采纳率:0%
帮助的人:51.7万
展开全部
真复杂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式