|
- #include<stdio.h>
- #include<string.h>
- struct Student //定义结构体类型
- {
- int number;
- char name[5];
- float chinese;
- float math;
- float english;
- float zf;
-
- };
- struct Student P[99]; //确定结构体;
- //void Dxuesheng(struct Student P[],int p );
- int xuesheng(struct Student P[],int p); //声明int函数
- #define N 99 //定义一个名称为 N 为99的常量
- struct Student tmp;
- int i;
- int s =0; //学生信息s
- int xuesheng(struct Student P[],int p) //定义 in函数
- {
- float z;
- int m = 0; //输入学号判断,0-输入结束,1-继续
- printf("请输入学生信息(提示:学号为0时结束)\n");
- while (!m ) //如果输入没有结束,循环继续
- {
- printf("学号:");
- scanf("%d",&P[s].number); //输入学号
- if (P[s].number==0) //判断输入学号是否为0,为0结束
- {
- return;
- }
- if (m==1) //不懂
- break;
- printf("姓名:");
- scanf("%s",P[s].name);
- printf("语文成绩:");
- scanf("%f",&z);
- P[s].chinese = z;
- printf("数学成绩:");
- scanf("%f",&z);
- P[s].math = z;
- printf("英语成绩:");
- scanf("%f",&z);
- P[s].english = z;
- P[s].zf=(P[s].english+P[s].chinese+P[s].math);
- s++;
- }
- return s;
- }
- int Axuesheng(struct Student P[],int p )
- {
- int i; //定义一个i用来显示多少学生
- for(i=0;i<s;i++) //循环显示学生信息
- {
- printf("学号:%d,姓名:%s,语文:%.1f,数学:%.1f,英语:%.1f,总分:%.1f\n",P[i].number,P[i].name,P[i].chinese,P[i].math,P[i].english,P[i].zf);
- }
- }
- void Bxuesheng(struct Student P[],int p )
- {
- int i,j,k;
- struct Student tmp={0};
- for(i=0;i<N-1;i++)
- {
- if(P[i].number<P[i+1].number)
- {
- tmp = P[i];
- P[i] = P[i+1];
- P[i+1] = tmp;
- }
- }
- printf("====================按总成绩排名=============\n");
- for(j=0;j<N;j++)
- {
- printf("该学生的学号为:%d\n",P[j].number);
- printf("该学生的姓名为:");
- for(k= 0;k<5;k++)
- {
- printf("%s",P[j].name[k]);
- }
- printf("该学生的语文成绩为:%.1f\n",P[j].chinese);
- printf("该学生的数学成绩为:%.1f\n",P[j].math);
- printf("该学生的英语成绩为:%.1f\n",P[j].english);
- printf("该学生的总成绩为:%.1f\n",P[j].zf);
- }
- getchar();
- }
复制代码 |
上一篇: 溜溜的我下一篇: C/C++的 16 大就业领域规划!
|