/* 功能:用记录来描述一个学生的成绩情况,内容包括:姓名、学号、数学成绩和PASCAL成绩。 要求对一个小组的10个学生的成绩进行统计处理: 1)计算学生的总平均分,并按平均分高低排出名次,打印出姓名。 2)打印出90分以上和不及格者的名字。 要求用子程序来完成。 时间:19:31 2013/10/24 */ #include<stdio.h> #include<stdlib.h> #include<string.h> struct student //创建结构体 { char name[2]; int ID; int mathmatic; int PASCAL; }; typedef struct student STU; void getInfo45(STU a[],int n); //获取学生信息声明 void Order45(STU a[],int n); //学生排序 void showAll45(STU a[],int n); //打印全部信息 void BigThan45(STU a[],int n); void main() { STU people[10]; getInfo45(people,10); //初始化 showAll45(people,10); //打印初始化信息 Order45(people,10); //将学生按平均分排序 puts("After orders!!!"); for(int i=0;i<10;i++) //打印出学生名字以及平均分数 { printf("%s: %f\n",people[i].name,(people[i].mathmatic+people[i].PASCAL)/2.0); } puts("excillent and poor "); BigThan45(people,10); //将大于90和小于60的人名打印出来 system("pause"); } void BigThan45(STU a[],int n) { for(int i=0;i<10;i++) { if((a[i].mathmatic+a[i].PASCAL)/2.0>=90 ||(a[i].mathmatic+a[i].PASCAL)/2.0<60) { printf("%s: math: %d,PASCAL: %d \n",a[i].name,a[i].mathmatic,a[i].PASCAL); } } } void showAll45(STU a[],int n) { for(int i=0;i<n;i++) { printf("%d: %s\tmathmatic:%d, PASCAL:%d \n",a[i].ID,a[i].name,a[i].mathmatic,a[i].PASCAL);; } } void Order45(STU a[],int n) { for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if((a[i].mathmatic+a[i].PASCAL)<(a[j].mathmatic+a[j].PASCAL)) { STU temp=a[i]; a[i]=a[j]; a[j]=temp; } } } } void getInfo45(STU a[], int n) { for (int i = 0; i < 10; i++) { a[i].ID = i+1; a[i].mathmatic = rand() % 60 + 30; a[i].PASCAL = rand() % 90 + 60; } strcpy_s(a[0].name,"A"); strcpy_s(a[1].name, "B"); strcpy_s(a[2].name, "C"); strcpy_s(a[3].name, "D"); strcpy_s(a[4].name, "E"); strcpy_s(a[5].name, "F"); strcpy_s(a[6].name, "G"); strcpy_s(a[7].name, "H"); strcpy_s(a[8].name, "I"); strcpy_s(a[9].name, "G"); }
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn