#include <stdio.h>
#include <stdlib.h>
int main()
{
int number;
int i, j, max;
double temp;
double (*fp)[3], *dp;
printf( "输入学生的人数:" );
scanf( "%d", &number );
fp = (double (*)[3] ) malloc( sizeof(double) * 3 * number );
dp = (double *) malloc( sizeof(double) * number );
for ( i = 0; i < number; i++ )
{
printf( "输入第%d名同学的三门成绩:", i + 1 );
dp[i] = 0;
for ( j = 0; j < 3; j++ )
{
scanf( "%lf", *(fp + i) + j );
dp[i] += *( *(fp + i) + j);
}
}
printf( "以下是各位同学三门课的平均成绩\n" );
for ( i = 0; i < number; i++ )
printf( "第%d名同学:%lf\n", i + 1, dp[i] );
printf( "对以上同学按平均成绩从大到小进行了排列.\n" );
printf( "-----------------------------------------\n" );
for ( i = number - 1; i > 0; i-- )
{
//max = number - 1;
for ( j = i - 1; j >= 0; j-- )
if ( dp[j] < dp[i] )
{
temp = dp[i];
dp[i] = dp[j];
dp[j] = temp;
}
}
for ( i = 0; i < number; i++ )
printf( "成绩排名第%d位的同学的成绩:%lf\n", i + 1, dp[i] );
return(0);
}
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。