#包含" stdafx.h "
#包含“stdio.h”
#定義N 30
結構學生
{
float Escore、Cscore、sum
字符名稱[10];
};
int main(int argc,char* argv[])
{
學生A[N],*t,* A[N];
int i,j,k;
//信息條目
for(I = 0;我& ltn;i++)
{
printf(" name:");
scanf("%s ",A[i].姓名);
Printf(“英語和計算機成績”);
scanf("%f%f ",& amp甲[我]。埃斯科爾& amp甲[我]。cscore);
甲[我]。sum=A[i]。Escore+A[i]。Cscore
a[I]= & amp;a[I];
}
//冒泡排序,對指針進行排序,使a[0]指向第壹位,a[1]指向第二位。......
for(I = N;我& gt0;i=k)
for(k=0,j = 0;j & lt我;j++)
if((a[j]-& gt;sum)>(a[j+1]-& gt;總和))
{
t = a[j];a[j]= a[j+1];a[j+1]= t;
k = j;
}
for(I = 0;我& ltn;i++)
Printf ("name: %6s score: %6.2f\n ",a[I]-& gt;名字,a[I]-& gt;sum);
返回0;
}
至於學生信息和學習成績,可以在結構中修改。
使用指針是因為交換指針的效率比交換結構的效率高(結構信息量大)。