每一個人有三個成績,這兒共有四個人要計算總分及平均。提供我的方式如下:
#include
#include
main()
{ int i,j,size=4;
float st[4][5],avg[4];//三科成績、總分、平均
for (i=0;i<4;i++)
{
for(j=0;j<=2;j++)
{
printf("第%d位同學的第%d個成績輸入\n",i+1,j+1);
if(scanf("%f",&st[i][j])!=1)
{
fflush(stdin);
printf("必須是數值資料\n");
j--;
}
}
st[i][3]=st[i][0]+st[i][1]+st[i][2];
st[i][4]=st[i][3]/3;
avg[i]=st[i][4];
}
for (i=0;i<4;i++)
{
printf("顯示第%d位同學的平均為%4.2f\n",i+1,st[i][4]);
}
sortarray2(avg,size);
printf("依據平均排名後:\n");
for(i=0;i<4;i++)
{
printf("%4.2f\t",avg[i]);
}
return 0;
}
void sortarray2(float a[], int size)
{
int i,j,temp,*ptr;
for( i = 1 ; i < size ; i++ )
{
for( j = 0; j < size-1 ; j++ )
{
if( a[j] < a[j+1] )
{
temp=*(a+j);
*(a+j)=*(a+j+1);
//a[j]=a[j+1];
*(a+j+1)=temp;
}
}
}
}
沒有留言:
張貼留言