當前位置:成語大全網 - 新華字典 - 設計壹個c++程序,不要太復雜,最好用冒泡排序法。

設計壹個c++程序,不要太復雜,最好用冒泡排序法。

Vc6.0貫穿始終

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

結構節點

{

int num

char name[20];

int a;

int b;

int c;

};

節點stu[10]={

{2004101,"張",89,67,90},

{2004102,"楊曉敏",65,80,56},

{2004103,"李冰冰",76,66,71},

{2004104,“周興華”,60,76,88},

{2004105,"王曉慶",82,90,78},

{2004106,"陳",70,81,93},

{2004107,"劉會山",85,60,76},

{2004108,“張真真”,80,76,61},

{2004109,"林華強",70,66,98},

{2004110,"郭雲峰",62,60,87},

};

int n=10,suma,sumb,sumc

void sort_a()

{

int i,j;

節點溫度;

for(I = 0;我& ltn-1;i++)

{

for(j = 0;j & ltn-1-I;j++)

{

if(stu[j].a & lt斯圖[j+1]。答

{

temp = stu[j];

stu[j]= stu[j+1];

stu[j+1]= temp;

}

}

}

}

void sort_b()

{

int i,j;

節點溫度;

for(I = 0;我& ltn-1;i++)

{

for(j = 0;j & ltn-1-I;j++)

{

if(stu[j].b & lt斯圖[j+1]。b)

{

temp = stu[j];

stu[j]= stu[j+1];

stu[j+1]= temp;

}

}

}

}

void sort_c()

{

int i,j;

節點溫度;

for(I = 0;我& ltn-1;i++)

{

for(j = 0;j & ltn-1-I;j++)

{

if(stu[j].c & lt斯圖[j+1]。c)

{

temp = stu[j];

stu[j]= stu[j+1];

stu[j+1]= temp;

}

}

}

}

void排序()

{

int模式;

Printf("請選擇按哪個主題排序:1。中文2。數學3。英語\ n ");

scanf("%d ",& amp模式);

if(mode==1)

sort _ a();

else if(mode==2)

sort _ b();

else if(mode==3)

sort _ c();

其他

Printf("輸入錯誤!\ n ");

}

無效輸出()

{

int I;

Printf("學號\t姓名\t語言\t數學\t英語\t平均分\ n ");

for(I = 0;我& ltn;i++)

{

printf("%d\t ",stu[i]。num);

printf("%s\t ",stu[i]。姓名);

printf("%d\t ",stu[i]。a);

printf("%d\t ",stu[i]。b);

printf("%d\t ",stu[i]。c);

printf(" \ n ");

}

}

void fmax()

{

int i,maxa,maxb,maxc

maxa=stu[0]。a;suma=stu[0]。a;

maxb=stu[0]。b;sumb=stu[0]。b;

maxc=stu[0]。c;sumc=stu[0]。c;

for(I = 1;我& lt10;i++)

{

如果(斯圖[我]。a & gtmaxa) maxa=stu[i]。a;

如果(斯圖[我]。a & gtmaxb) maxb=stu[i]。b;

如果(斯圖[我]。a & gtmaxc) maxc=stu[i]。c;

suma+=stu[i]。a;

sumb+=stu[i]。b;

sumc+=stu[i]。c;

}

Printf("各科最高分為:%d\t%d\t%d\n ",maxa,maxb,maxc);

}

void fmin()

{

int I;

int mina,minb,minc

米娜=斯圖[0]。a;

minb=stu[0]。b;

minc=stu[0]。c;

for(I = 1;我& lt10;i++)

{

如果(斯圖[我]。a & ltmina) mina=stu[i]。a;

如果(斯圖[我]。a & ltminb) minb=stu[i]。b;

如果(斯圖[我]。a & ltminc) minc=stu[i]。c;

}

Printf("各科最低分為:%d\t%d\t%d\n ",mina,minb,minc);

}

無效收藏夾()

{

float fa,fb,fc;

fa = suma * 1.0/n;

FB = sumb * 1.0/n;

fc = sumc * 1.0/n;

Printf("各科平均分:%.2f\t%.2f\t%.2f\n ",fa,fb,fc);

}

void main()

{

int chos

while(1)

{

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

Printf("1。使用排序算法對上述科目之壹的成績進行排序\ n ");

Printf("2。以每個學生記錄的形式顯示並輸出排序後的成績\ n ");

Printf("3。查找各科最高分、最低分、平均分的信息\ n”);

Printf("0。退出程序\ n ");

Printf("請選擇\ n ");

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

scanf("%d ",& ampchos);

開關(chos)

{

案例1:

sort();

打破;

案例二:

output();

打破;

案例三:

fmax();

fmin();

fave();

打破;

案例0:

退出(0);

}

}

}