/***************************************描述:用数组,函数,结构,循环等来实现 一个学员信息管理系统!**************************************/#include <stdio.h>#define N 3struct student{ int no; char name[20]; int score[N]; double ave;};void display(struct student a[], int i);struct student input();void main(){ struct student a[50]; int i=0; char ans='y'; printf("请输入学员信息:\n"); while(ans=='y'||ans=='Y') { a[i]=input(); i++; printf("\n 您是否继续?(y or n) "); fflush(stdin); scanf("%c",&ans); } display(a,i); } struct student input() { struct student r; double sum=0.0; int j; printf("\n学号:"); scanf("%d",&r.no); //接收用户输入学号 fflush(stdin); printf("姓名:"); gets((r.name)); //接受用户输入姓名 fflush(stdin); printf("三门成绩:\n"); for(j=0;j<N;j++) //接受用户输入的三门成绩 { printf("成绩%d:",j+1); fflush(stdin); scanf("%d",&r.score[j]); // (接受数据要对应!~) sum+=r.score[j]; } r.ave=sum/3; return r; } void display(struct student a[], int i) { int k; printf("输入后的学员信息如下:\n\n"); printf("学号\t姓名\t\t平均成绩\n"); for(k=0;k<i;k++) { printf("%d\t%s\t\t%3.2f\n",a[k].no,a[k].name,a[k].ave); // 有另一种写法:&a[i].name[0] ( name的输出应用%s) } }---------------------------------------以上只能实现某些功能------------------------------------->>>待续......

评论