69,371
社区成员
发帖
与我相关
我的任务
分享
#define N 3 //学生人数
#include<iostream>struct information *next;//定义了一个struct information 类型的指针next,类似int *p;这样去理解
#include<stdio.h>
#define N 3 //学生人数
struct information
{
char name[20];
char ID[15];
int chi;
int mat;
int eng;
int phy;
int spo;
int sum;
int ave;
struct information *next;
}; //学生信息
struct information student , *p1;
void get( struct information *pa ) //录入学生信息函数
{
int i;
struct information *tmp;
tmp = pa;
for( i = 0 ; i < N ; i++ )
{
scanf( "%s%s%d%d%d%d%d" , ( *tmp ).name , ( *tmp ).ID , &( *tmp ).chi , &( *tmp ).mat , &( *tmp ).eng , &( *tmp ).phy , &( *tmp ).spo );
( *tmp ).sum=( *tmp ).chi + ( *tmp ).mat+( *tmp ).eng + ( *tmp ).phy + ( *tmp ).spo;
( *tmp ).ave=( *tmp ).sum / 5;
if( i < N - 1 )
{
tmp->next = ( struct information * )malloc( sizeof( struct information ) );
tmp = tmp->next;
}
}
}
void out( struct information *pb ) //输出学生信息函数
{
int i;
for( i = 0 ; i < N ; i++ )
{
printf( "%s %s %d %d %d %d %d %d %d \n" , ( *pb ).name , ( *pb ).ID , ( *pb ).chi , ( *pb ).mat , ( *pb ).eng , ( *pb ).phy , ( *pb ).spo , ( *pb ).sum , ( *pb ).ave );
pb = pb->next;
}
}
main()
{
printf( "请输入%d个学生的信息,每输入完一个按回车键:\n" , N );
p1 = &student;
get( p1 );
printf("姓名 学号 语文 数学 英语 物理 体育 总分 均分\n");
out( p1 );
}