#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define M 3
struct student
{
int x; // 學號
char name[20]; // 姓名
float g; // 高學成績
float m; // 馬哲成績
float y; // 英語成績
float j; //計算機成績
float d;//電子技術成績
}a[M];
void input()
{
int i;
for(i=0; i<M; i++)
{
scanf("%d %s %f %f %f %f %f", &a[i].x, a[i].name, &a[i].g, &a[i].m, &a[i].y,&a[i].j,&a[i].d);
}
}
void sort1()
{
int i,k;
for(i=0; i<M; i++)
{
for(k=i; k<M; k++)
{
if((a[i].g+a[i].m+a[i].y+a[i].j+a[i].d) < (a[k].g+a[k].m+a[k].y+a[k].j+a[k].d))
{
a[M].x=a[k].x; strcpy(a[M].name, a[k].name); a[M].g=a[k].g; a[M].m=a[k].m; a[M].y=a[k].y;a[M].j=a[k].j;a[M].d=a[k].d;
a[k].x=a[i].x; strcpy(a[k].name, a[i].name); a[k].g=a[i].g; a[k].m=a[i].m; a[k].y=a[i].y;a[k].j=a[i].j;a[k].d=a[i].d;
a[i].x=a[M].x; strcpy(a[i].name, a[M].name); a[i].g=a[M].g; a[i].m=a[M].m; a[i].y=a[M].y;a[i].j=a[M].j;a[i].d=a[M].d;
}
}
}
}
void PrintScore()
{
int i;
FILE *fp;
fp = fopen("cj.dat", "w");
for(i=0; i<M; i++)
{
fprintf(fp, "%d,%s,%.1f,%.1f,%.1f,%.1f,%.1f\n", a[i].x, a[i].name, a[i].g, a[i].m, a[i].y,a[i].j,a[i].d);
}
printf("\n\n");
printf("學號,姓名,高數,馬哲,英語,計算機,電子技術\n\n");
for(i=0; i<M; i++)
{
printf("%d,%s,%.1f,%.1f,%.1f,%.1f,%.1f\n", a[i].x, a[i].name, a[i].g, a[i].m, a[i].y,a[i].j,a[i].d);
}
}
void sort2()
{
int i,k,t;
for(i=0;i<M;i++)
{
for(k=i;k<M;k++)
{
if(a[k].x>a[k+1].x)
{
t=a[k+1].x;
a[k+1].x=a[k].x;
a[k].x=t;
}
}
}
printf("\n按學號排序:\n");
for(i=0;i<M;i++)
{
printf("%d,%s,%.1f,%.1f,%.1f,%.1f,%.1f\n", a[i].x, a[i].name, a[i].g, a[i].m, a[i].y,a[i].j,a[i].d);
}
}
void main()
{
printf("請輸入學生的\n學號 姓名 高數成績 馬哲成績 英語成績 計算機成績 電子技術成績:\n");
input();
sort1();
PrintScore();
sort2();
return 0;
}
這怎么弄
用c語言
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/245892.html
標籤:新手樂園
上一篇:能幫我完成一個函式嗎
下一篇:求解一直在線,如果對秒給解決
