有10个学生,每个学生的数据有:学号 姓名 数学,语文,英语成绩,从键盘输入这些数据,求出每门课的平均 15

 我来答
百度网友324ede9
2010-12-24 · TA获得超过823个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:297万
展开全部
#include<stdio.h>
#include"malloc.h"
#include"string.h"
struct stu{
char name[20];
char stuno[10];
int yw;
int sx;
int yy;
};
struct link{
stu *astu;
link *next;
};
void main()
{
link *head=(link *)malloc(sizeof(link));
head->astu=NULL;
head->next=NULL;
link *tail=head;
stu *temp;
for(int i=0;i<10;i++)
{
temp=(stu *)malloc(sizeof(stu));
printf("请输入学生%d姓名:",i+1);
scanf("%s",temp->name);
printf("请输入学生学号:");
scanf("%s",temp->stuno);
printf("请输入语文成绩:");
scanf("%d",&(temp->yw));
printf("请输入数学成绩:");
scanf("%d",&(temp->sx));
printf("请输入英语成绩:");
scanf("%d",&(temp->yy));
tail->next=(link *)malloc(sizeof(link));
tail=tail->next;
tail->astu=temp;
tail->next=NULL;
}
link *p=head;
printf("语文平均成绩\t数学平均成绩\t英语平均成绩\n");
float sumsx=0,sumyw=0,sumyy=0;
i=0;
while(p->next!=NULL)
{
p=p->next;
sumsx+=p->astu->sx;
sumyw+=p->astu->yw;
sumyy+=p->astu->yy;
i++;
}
printf("%.2f\t\t%.2f\t\t%.2f\n",sumyw/i,sumsx/i,sumyy/i);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友173f3529c
2011-01-10 · TA获得超过678个赞
知道小有建树答主
回答量:355
采纳率:50%
帮助的人:296万
展开全部
#include<stdio.h>
#include<string.h>
#define N 10
#define M 3
struct man{
string xh;
string xm;
int cj[M];
};//注意,最好不要把数据定义成全局变量
int main(){
man m[N];float a[M]={0};
int i,j;
printf("请输入姓名、学号、成绩:\t");
//输入学生信息
for(i=0;i<N;i++)
{
scanf("%s%s",&m[i].xm,&m[i].xh);
for(j=0;j<M;j++)
scanf("%d",&m[i].cj[j]);
printf("\n");
}
//求每门课的总分
for(i=0;i<M;i++)
for(j=0;j<N;j++)
{
a[i]+=m[j].cj[i];
}
//求每门课的平均分
for(i=0;i<M;i++)
{
a[i]/=N;
printf("a[%d]的平均分 :\t%f",i,a[i]);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2004wyw
2010-12-24 · TA获得超过2548个赞
知道小有建树答主
回答量:910
采纳率:0%
帮助的人:893万
展开全部
若数学在C列,第一个学生成绩在C2,最后一个学生是C11,C12为平均分。则在C12输入公式:
=AVERAGE(C2:C11)。向右复制就可以得出其他各科平均分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
980515024
2010-12-24 · TA获得超过606个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:325万
展开全部
这样的题还是用结构体做比较简单。
#include<stdio.h>
struct student
{
int num,//学号
char name[10];//姓名
float score[3];//三门课的成绩}
void main()
{
struct student stu[10];
int i,j;float avg,sum=0;
for(i=0;i<10;i++)
scanf("%d%s",&stu[i].num,stu[10].name[10]);
for(j=0;j<3;j++)
scanf("%f",stu[i].score[j]);
for(i=0;i<10;i++)
for(j=0;j<3;j++)
sum+=stu[i].score[j];
avg=sum/10;
printf("%f\n",avg);
}
希望能帮助你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
聊大教育学院
推荐于2018-03-20 · TA获得超过1744个赞
知道小有建树答主
回答量:511
采纳率:84%
帮助的人:169万
展开全部
在Excel表格输入每门课的成绩后 在每门课末段输入公式“=AVERAGE()”,括弧内的输入方式是:1、鼠标点击第一格数据。2、:(冒号)。3、鼠标点击最后一格数据。例:=AVERAGE(D20:D26)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式