C语言结构体之输入学生基本信息
为了描述不同属性的集合的结构,又不破坏集合之间的个属性之间的关系,需要构造新的数据类型;直接上代码,没必要那么多口水话;输入学生的信息,计算总分以及平均分后输出#Include<stdio.h>#define N 100struct Student//创建一个student的结构体{int num;//学生人数char name[20];//存储学生姓名的一个数组cha...
·
为了描述不同属性的集合的结构,又不破坏集合之间的个属性之间的关系,需要构造新的数据类型;
直接上代码,没必要那么多口水话;输入学生的信息,计算总分以及平均分后输出
#include<stdio.h>
#include<string.h>
#define N 100
struct student
{
int sno;
char name[20];
char sex[4];
int age;
int score[3];
int sum;
float average;
};
void count(struct student *,int );
void count(struct student *st,int num )
{
int i;
for(i=0;i<num;i++)
{
st[i].sum=st[i].score[0]+st[i].score[1]+st[i].score[2];
st[i].average=st[i].score[0]+st[i].score[1]+st[i].score[2]/3.0;
}
//打印
printf("\n\t学号\t 姓名 \t性别\t语文\t英语\t高数\t总分\t平均分\n");
for(i=0;i<num;i++)
{
printf("\t%d %s %s\t%d\t%d\t%d\t%d\t%f\n",st[i].sno,st[i].name,st[i].sex,st[i].score[0],st[i].score[1],st[i].score[2],st[i].sum,st[i].average);
}
return;
}
int main()
{
int i;
struct student st[N];
int num1;//需要输入的学生人数
printf("请输入录入人数:\n");
scanf("%d",&num1);
if(N<num1)
{
num1=N;
printf("最大人数为N=100!\n");
}
for(i=0;i<num1;i++)
{
printf("姓名:");scanf("%s",st[i].name);
printf("学号:");scanf("%d",&st[i].sno);getchar();
printf("性别:");scanf("%s",&st[i].sex);
printf("语文成绩:");scanf("%3d",&st[i].score[0]);
printf("英语四级成绩:");scanf("%3d",&st[i].score[1]);
printf("高数成绩:");scanf("%3d",&st[i].score[2]);
}
count(st,num1);
return 0;
}
更多推荐
已为社区贡献1条内容
所有评论(0)