C语言结构指针问题,速度帮忙!

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:35:28
用结构体指针编一程序,实现输入三个学生的学号,数学期中成绩和数学期末成绩,然后计算其数学平均成绩并输出成绩表
以下是我做的不知那错了,你们也可以自己做随便帮我指出错误,谢谢。。。
#include "stdio.h"
#define N 3
struct xs
{
int num;
int score[2];
double average;
};
shuru (struct xs *p)
{
int a;
printf("请输入3名学生的号码,期中成绩和期末考试\n");
for(a=1;a<=N;a++,p++)
scanf("%d%d%d",&((*p).num),&((*p).score[0]),&((*p).score[1]));
}
shuchu (struct xs *p)
{
int a;
(*p).average=((*p).score[0]+(*p).score[1])/2.0;
for(a=1;a<=N;a++,p++)
printf("%d %d %d %.1f\n",p->num,p->score[0],p->score[1],(*p).average);

}
main ()
{
struct xs shu[N];
shuru(shu);
printf("学生编号 期中成绩 期末考试 平均值\n");
shuchu(shu);
}

细节问题。。请详细对照我帮你改的。。以后多细心点就ok了。。
#include "stdio.h"
#define N 3
struct xs
{
int num;
int score[2];
double average;
};
shuru (struct xs *p)
{
int a;
printf("请输入3名学生的号码,期中成绩和期末考试\n");
for(a=1;a<=N;a++,p++)
scanf("%d%d%d",&((*p).num),&((*p).score[0]),&((*p).score[1]));
}
shuchu (struct xs *p)
{
int a;

for(a=1;a<=N;a++,p++)
{
(*p).average=((*p).score[0]+(*p).score[1])/2.0;
printf("%d %d %d %.1f\n",p->num,p->score[0],p->score[1],(*p).average);
}
}
main ()
{
struct xs shu[N];
shuru(shu);
printf("学生编号 期中成绩 期末考试 平均值\n");
shuchu(shu);
}

scanf("%d%d%d",&((*p).num),&((*p).score[0]),&((*p).score[1]));
貌似不能这样

#include "stdio.h"
#define N 3
struct xs
{
int num;