当前位置:文档之家› 选择排序法与冒泡排序法——C语言

选择排序法与冒泡排序法——C语言

q=1; for(j=0;j<=9-i;j++)
if(d[j]<d[j+1]) {
q=0; t=d[j]; d[j]=d[j+1]; d[j+1]=t; } } printf("学生成绩由大到小:\n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]); printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } } q为判断变量,当某趟所有相邻的不需要交换是,则可以提前结束10个学生的成绩以逗号隔开:\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[ 8],&d[9]);
for(i=1;i<10;i++) for(j=0;j<=9-i;j++) if(d[j]<d[j+1]) { t=d[j]; d[j]=d[j+1]; d[j+1]=t; }
printf("学生成绩由大到小: \n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]);
printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } }
3、改进的冒泡排序法 #include<stdio.h> void main(void)/*冒泡排序法改进*/ /*从键盘上输入10个学生的成绩,用冒泡排序法改进法输出成绩*/ {
int d[9]; int z,t,i,j,q;/*q为判断变量*/ z=1; while(z) {
printf("输入10个学生的成绩以逗号隔开:\n"); scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[8],&d[9]); q=0; for(i=1;i<10&&q==0;i++) {
printf("\n输入1继续此程序,输入0结束此程序"); scanf("%d",&z); } }
2、冒泡排序法 #include<stdio.h> void main(void)/*冒泡排序法*/ /*从键盘上输入10个学生的成绩,用冒泡排序法输出成绩*/ {
int d[9]; int z,t,i,j; z=1; while(z) {
选择排序法与冒泡排序法
——C语言
1、选择排序法 2、冒泡排序法 3、改进的冒泡排序法
例、从键盘上输入10个学生的成绩,从大到小输出成绩。 1、选择排序法 #include<stdio.h> void main(void)/*选择排序法*/ /*从键盘上输入10个学生的成绩,用选择排序法输出成绩*/ {
for(i=0;i<9;i++) for(j=i+1;j<=9;j++) if(d[i]<d[j]) { t=d[i]; d[i]=d[j]; d[j]=t; }
printf("学生成绩由大到小: \n%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",d[0],d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8],d[9]);
int d[9]; int z,t,i,j; z=1; while(z) {
printf("输入10个学生的成绩以逗号隔开:\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&d[0],&d[1],&d[2],&d[3],&d[4],&d[5],&d[6],&d[7],&d[8],&d[ 9]);
相关主题