데이터 구조 과정 설계 - 운동회 점수 통계
35471 단어 데이터 구조
#include
#include
#include
#include
#define Sch 10//
#define num 10//
typedef struct//
{
int AllScore; //
int Boyscore;//
int Girlscore; //
int School_rank;
char NAME[20]; //
}pro;//
pro school[Sch];
int arr[num][5]={0};//
void init(int size)
{
int i,j;
for(i=0;i<size;i++)
{
school[i].AllScore=0;
school[i].Boyscore=0;
school[i].Girlscore=0;
school[i].School_rank=0;
}
}
void function()
{
int i,j,d,a;
int sumBoy[Sch]={0};//
int sumGirl[Sch]={0};//
FILE *fp;
fp=fopen("1.txt","w");//
if(fp==NULL)
{
printf("can't open the file
");
}
else
{
printf("open the file successly
");
printf(" ...
");
}
Sleep(4000);
system("cls");
for(i=0;i<num;i++)//
{
if(i<5)
{
printf(" %d 5 ",i);
for(j=0;j<5;j++)//
{
scanf("%d%d",&d,&a); //arr
arr[i][j]=d;
school[d].Boyscore=a;
sumBoy[arr[i][j]]+=school[arr[i][j]].Boyscore;
}
}
else
{
printf(" %d 3 ",i);
for(j=0;j<3;j++)//
{
scanf("%d%d",&d,&a); //arr
arr[i][j]=d;
school[d].Girlscore=a;
sumGirl[arr[i][j]]+=school[arr[i][j]].Girlscore;
}
}
}
for(i=0;i<Sch;i++)//
{
school[i].AllScore =sumBoy[i]+sumGirl[i];
}
char str2[40]={"school AllScore GirlScore BoyScore"};//
fprintf(fp,"%s
",str2);
for(i=0;i<Sch;i++)
{
printf(" %d >>",i);
scanf("%s",school[i].NAME);
getchar();
fprintf(fp,"%s %d %d %d
",school[i].NAME,school[i].AllScore,sumGirl[i],sumBoy[i]);
}
fclose(fp);
}
void ZongFenPaiXu(int size)//size ,n ,
{
int j=0,i;
int Array[size]={0};
int cnt[size]={0};//
for(i=0;i<size;i++)
{
Array[i]=school[i].AllScore;
}
while(j<size)
{
int max=0;
for (i=0;i<size;i++)
{
if(school[i].AllScore>max)
{
max=school[i].AllScore;
cnt[j]=i;
}
}
school[cnt[j]].AllScore=0;
j++;
}
printf("
");
for (j=0;j<size;j++)//
{
printf("%d %d %d
",j,cnt[j],Array[cnt[j]]);
school[cnt[j]].School_rank =j;
}
}
void SearchSchool()
{
int School_x;
printf("
");
scanf("%d",&School_x);
printf("
");
printf("%d %d %d %d",School_x,school[School_x].AllScore,school[School_x].Boyscore,school[School_x].Girlscore);
}
void show_to_user()
{
printf("*****************************************
");
printf("** **
");
printf("** **
");
printf("**1. **
");
printf("**2. **
");
printf("**3. **
");
printf("*****************************************
");
}
void SearchByPro()
{
int i;
int School_pro;
printf("
");
scanf("%d",&School_pro);
if(School_pro<5)
{
printf("
");
for(i=0;i<5;i++)
{
printf("%d\t%d
",i,arr[School_pro][i]);
}
}
else
{
printf("
");
for(i=0;i<3;i++)
{
printf("%d\t%d
",i,arr[School_pro][i]);
}
}
}
void menu()
{
int i,a;
char Str[5];
while(1)
{
printf("
");
scanf("%d",&i);
switch(i)
{
case 1:ZongFenPaiXu(Sch);break;
case 2:SearchSchool();break;
case 3:SearchByPro();break;
}
printf(" yes/no
");
scanf("%s",Str);
if(!strcmp("yes",Str))
{
return;
}
}
}
int main()
{
init(Sch);//
function();
system("cls");
show_to_user();
menu();
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.