输入十个数用冒泡法从大到小,输入十个数用冒泡排序从大到小

http://www.itjxue.com  2023-01-05 09:54  来源:未知  点击次数: 

将键盘输入的10个整数存入数组用冒泡从大到小排序

#include stdio.h

void main()

{

int i,j;

float a[10],t;

printf("请输入十个数字");

for(i=0;i10;i++)

{

scanf("%f",a[i]);

}

for(j=0;j10;j++)

{

for(i=0;i10-1;i++)

{

if(a[i]a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

}

for(i=0;i10;i++)

{

printf("%f",a[i]);

printf(" ");

}

}

C语言冒泡法排序:任意输入十个数排序(从小到大;从大到小)

#include"stdio.h"

//从小到大排序

void

main()

{

int

i,j,t,str[10];

printf("请给数组str赋初值:\n");

for(i=0;i10;i++)

//对数组进行初始化

scanf("%d",str[i]);

for(j=1;j10;j++)

//开始进行排序

for(i=0;i10-j;i++)

if(str[i]str[i+1])

//

//因为是从小到大所以借助中间量t将小的数提前

{

t=str[i];

str[i]=str[i+1];

str[i+1]=t;

}

printf("排序后的数组为:\n");

//打印排序后的数组

for(i=0;i10;i++)

printf("%d",str[i]);

}

#include"stdio.h"

//从大到小进行排序

void

main()

{

int

i,j,t,str[10];

printf("请给数组str赋初值:\n");

for(i=0;i10;i++)

//对数组进行初始化

scanf("%d",str[i]);

for(j=1;j10;j++)

//开始进行排序

for(i=0;i10-j;i++)

if(str[i]str[i+1])

//因为是从大到小所以借助中间量t将大的数提前

{

t=str[i];

str[i]=str[i+1];

str[i+1]=t;

}

printf("排序后的数组为:\n");

//打印排序后的数组

for(i=0;i10;i++)

printf("%d",str[i]);

}

输入10个数,用冒泡排序法按由小到大顺序排序并输出??c语言的

如下参考:

#包括 stdio, h

Intmain()

Inta[10]={0};

IntI=0,j=0,t=0;

For (I = 0;我 10;我+ +)

{scanf (" % d ", a [I]);}

For (I = 0;我 10;我+ +)

{for (j = 0;J 10 - I;J + +) {

If (a [j] a [j + 1))

T=a,[j]。

A[j]=A,A+1加到[j]。

A[m+1]=t;

}}}

For (I = 0;我 10;我+ +)

{printf("%d",a[I]);}

返回0;}

任意输入10个数据,程序运行:

扩展资料:

冒泡排序算法的复杂原理如下:

1.比较相邻metaelements。如果第一个比第二个大,就交换它们。

2.对每一对相邻的元素执行相同的操作,从第一对开始,到最后一对结束。此时,最后一个元素应该是最大的数。

3.对除最后一个元素之外的所有元素重复上述步骤。

4.每次对越来越少的元素重复上述步骤,直到没有一对数字可供比较。

输入十个数,用冒泡法对其按照从大到小的顺序排列,然后输出。

你这程序有错,而且是从小到大的顺序排列,先改过来,如下(从小到大顺序排列):

int a[11];

int i,n,t;

printf("input 10 numbers:\n");

for(i=1;i=10;i++)//这里是循环接收输入的10个数字,存储到数组a中

scanf("%d",a[i]);

printf("\n");

for(n=1;n=9;n++) //外部循环

for(i=1;i=10-n;i++)//内部循环

if(a[i]a[i+1])//相邻元素比较,注意,你程序这里错了

{

t=a[i];//值交换

a[i]=a[i+1];

a[i+1]=t;

}

printf("the sorted numbers:\n");

for(i=1;i11;i++) //循环输出已经排列好顺序的数组,如果要从大到小排列就可以在这里把条件改了

{

printf("%3d\n",a[i]);//这里的格式应是%3d,你程序这里错了

}

c语言编程题:分别用冒泡法和选择法对输入的10个整数由大到小排序

#include stdio.h

void maopao(int *a){

int temp=0;

for(int i=0;i10-1;++i)//只需要冒泡9个数最后一个就已经有序了

for(int j=0;j10-i-1;++j)//j的取值需10-i-1;为何-1,

if(a[j]a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

void? xuanze(int *a){

for(int i=0;i9;i++)

{

int temp=i,b;

for(int j=i+1;j10;j++)

{

if(a[temp]a[j])

temp=j;

}

if(i!=temp)

{

b=a[temp];

a[temp]=a[i];

a[i]=b;}

}

}

int main()

{

int a[10]={7,8,5,4,3,2,6,9,0,1};

int b[10]={1,2,5,7,43,23,565,6,9,10};

maopao(a);

for(int n=0;n10;++n)

printf("%d? ",a[n]);

printf("\n");

xuanze(b);

for(int n=0;n10;++n)

printf("%d? ",b[n]);

}

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

7、自定义函数在使用之前需要进行函数声明。

参考资料:

(责任编辑:IT教学网)

更多

推荐Frontpage教程文章