Mooc课后习题集 及 做到的一些有趣的题
这是我初学c开始有意识的记录自己做的每一道题开始写下的代码水平 一个一个代码发出来 直到我现在学的数据结构 那个时候还不会注释 格式什么的也是按照自己怎么喜欢怎么来 如果真不会看会代码理解一下 qwq 如代码有错请见谅 毕竟都好久以前敲得了hhh ~~
如果对各位的思路引导有帮助那更好
#include <stdio.h>
#include <math.h>
#define len 10
int main()
{
int i,j;
int playerName[len]={0},judgeName[len];
float finalscore[len]={0},score[len][len],judgescore[len][len],sum1[len];
float max,min,sum=0;
int playersNumber,judgesNumber;
int tempName;
float tempScore;
printf("How many Athletes\n");
scanf("%d",&playersNumber);
printf("How many judges?\n");
scanf("%d",&judgesNumber);
printf("Scores of Athletes:\n");
for(i=0;i<=playersNumber-1;i++)
{
printf("Athlete %d is playing.\n",i+1);
printf("Please enter his number code:\n");
scanf("%d",&playerName[i]);
max=score[i][0];
min=10;
sum=0;
for(j=0;j<=judgesNumber-1;j++)
{
judgeName[j]=j+1;
printf("Judge %d gives score:\n",j+1);
scanf(" %f",&score[i][j]);
if(score[i][j]>max)
{
max=score[i][j];
}
if(score[i][j]<min)
{
min=score[i][j];
}
judgescore[j][i]=score[i][j];
sum+=score[i][j];
}
finalscore[i]=(sum-max-min)/(judgesNumber-2);
printf("Delete a maximum score:%.3f\n",max);
printf("Delete a minimum score:%.3f\n",min);
printf("The final score of Athlete %d is %.3f",playerName[i],finalscore[i]);
}
printf("Order of Athletes:\n");
printf("order final score number code\n");
for(i=0;i<=judgesNumber-1;i++)
{
sum=0;
for(j=0;j<=playersNumber-1;j++)
{
sum+=pow((judgescore[i][j]-finalscore[j]),2);
}
sum=sum/playersNumber;
sum=10-sqrt(sum);
sum1[i]=sum;
}
for(i=0;i<=playersNumber-2;i++)
{
for(j=i+1;j<=playersNumber-1;j++)
{
if(finalscore[i]<=finalscore[j])
{
tempScore=finalscore[i];
finalscore[i]=finalscore[j];
finalscore[j]=tempScore;
tempName=playerName[i];
playerName[i]=playerName[j];
playerName[j]=tempName;
}
}
}
for(i=0;i<=playersNumber-1;i++)
{
printf("%5d\t%11.3f\t%6d\n",i+1,finalscore[i],playerName[i]);
}
printf("Order of judges:\n");
printf("order final score number code\n");
for(i=0;i<=judgesNumber-2;i++)
{
for(j=i+1;j<=judgesNumber-1;j++)
{
if(sum1[i]<=sum1[j])
{
tempScore=sum1[i];
sum1[i]=sum1[j];
sum1[j]=tempScore;
tempName=judgeName[i];
judgeName[i]=judgeName[j];
judgeName[j]=tempName;
}min=score[i][0];
}
}
for(i=0;i<=judgesNumber-1;i++)
{
printf("%5d\t%11.3f\t%6d\n",i+1,sum1[i],judgeName[i]);
}
printf("Over!Thank you!\n");
return 0;
}