#include<stdio.h>
#define N 100
void main(void)
{
int i,j,a,k,n,m;//n是學生人數,i j是下標
int score[N][3];
float aver[N];
float t;
int sum=0;
printf("請輸入要錄入成績的學生個數 \n\r");
scanf("%d",&n);
printf("請依次輸入學生三門成績 \n\r");
for(i=0;i<n;i++)
{
for(j=0;j<3;j++)
scanf("%d",&score[i][j]);
}
for(i=0;i<n;i++)
{
sum=0;
for(j=0;j<3;j++)
sum+=score[i][j];
aver[i]=sum/3.0;
}
for(i=0;i<n-1;i++)
{
k=1;
for(j=i+1;j<n;j++)
{
if(aver[k]<aver[j])
k=j;
}
if(k!=i)
{
t=aver[i];aver[i]=aver[k];aver[k]=t;
for(m=0;m<3;m++)
{
a=score[i][m];
score[i][m]=score[k][m];
score[k][m]=a;
}
}
}
printf("the sorted score is:\n");
for(i=0;i<n;i++)
{
for(j=0;j<3;j++)
printf("%d ",score[i][j]);
printf("%.2f\n",aver[i]);
}
}
還差一個姓名資訊的輸入和輸出 不知道怎么辦 求大佬解決
uj5u.com熱心網友回復:
你可以再定義一個二維陣列比如name[100][30]來存盤姓名uj5u.com熱心網友回復:
我知道定義一個陣列 但是 之后就不會了= =uj5u.com熱心網友回復:
求幫幫忙 寫一下uj5u.com熱心網友回復:
用一個結構體陣列吧struct{
char name[];
int score[3];
}student[];
uj5u.com熱心網友回復:
完整的代碼能幫忙寫一下嘛 謝謝了uj5u.com熱心網友回復:
這樣的題一般用結構體陣列uj5u.com熱心網友回復:
能幫我寫一下完整代碼么
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/64583.html
標籤:C語言
上一篇:c語言編程疑問
下一篇:C初學者出現疑問
