输入十个数用冒泡法从大到小,输入十个数用冒泡排序从大到小
将键盘输入的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、自定义函数在使用之前需要进行函数声明。
参考资料: