
请高手帮忙做一道C语言题~~
《计算机技术基础(C)》课程综合性实验指导单适用专业:理工科(非计算机专业)一、实验题目:基于数组和函数的成绩计算二、实验目的:通过该实验把C语言中的几个主要知识(如:顺...
《 计算机技术基础(C) 》课程综合性实验指导单
适用专业:理工科(非计算机专业)
一、实验题目:
基于数组和函数的成绩计算
二、实验目的:
通过该实验把C语言中的几个主要知识(如:顺序结构、选择结构、循环结构、数组、函数等)得到综合应用。
三、实验设备及环境:
硬件:多媒体计算机
软件:Windows系列或DOS系列的操作系统、C语言
四、实验内容及要求:
1.设计主函数,在主函中应该有正确输入或调用每个学生的学号及各科成绩(输入可以根据不同的情况采用不同的输入方法)。
要求:输入时有必要的提示信息。
2.设计子函数,可以求每个学生的平均成绩,每门课的平均成绩、成绩的最大值、最小值等、并保存在数组中;
要求:每个学生至少设计两个子函数。
3.最后结果输出。要求:输出格式要界面直观、清晰大方、格式规范。
问题补充:不好意思,我是新手,貌似没分了~~嘿嘿……高手们帮帮忙,小弟在此跪谢了! 展开
适用专业:理工科(非计算机专业)
一、实验题目:
基于数组和函数的成绩计算
二、实验目的:
通过该实验把C语言中的几个主要知识(如:顺序结构、选择结构、循环结构、数组、函数等)得到综合应用。
三、实验设备及环境:
硬件:多媒体计算机
软件:Windows系列或DOS系列的操作系统、C语言
四、实验内容及要求:
1.设计主函数,在主函中应该有正确输入或调用每个学生的学号及各科成绩(输入可以根据不同的情况采用不同的输入方法)。
要求:输入时有必要的提示信息。
2.设计子函数,可以求每个学生的平均成绩,每门课的平均成绩、成绩的最大值、最小值等、并保存在数组中;
要求:每个学生至少设计两个子函数。
3.最后结果输出。要求:输出格式要界面直观、清晰大方、格式规范。
问题补充:不好意思,我是新手,貌似没分了~~嘿嘿……高手们帮帮忙,小弟在此跪谢了! 展开
展开全部
其实写程序时用结构体就简单多了,考虑你是新手,我就不用结构体把程序写的好懂些!你参考着看看吧!
#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]);
}
}
#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]);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询