#include
int main()
{int i,j,t,a[10];
for(i=0;i<10;i++) //输入10个整数
scanf("%d",&a[i]);
for(i=0;i<9;i++) //降序冒泡排序
for(j=0;j<9-i;j++)
if(a[j] {t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<10;i++) //输出
printf("%d ",a[i]);
printf("\n");
return 0;
}
void _tmain(int argc, _TCHAR* argv[])
{
char a[10];
char i, j;
char temp;
for (i = 0; i < 10; i++)
{
scanf_s("%d", &a[i], 1);
getchar();
}
for (i = 1; i < 10; i++)
{
for (j = 1; j < 10; j++)
{
if (a[j - 1] < a[j])
{
temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
}
}
}
for (i = 0; i < 10; i++)
printf("%d", a[i]);
while (1);
}
//直接可用,就是冒泡算法。
#include
int main()
{
int a[10],i,j,tmp,n=10;
//循环输入
for(i=0;i{
scanf("%d",&a[i]);
}
//冒泡排序
for(i=0;i{
for(j=0;j{
if(a[j] {
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
//循环输出
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
冒泡排序看的累,可以百度看看别人是怎么讲解的,也可以在循环的冒泡排序的过程中将每次一的排序过程打印出来,看看中间的过程帮组理解
你好,这是我自己亲自写的代码,经过调试成功了。有不明白的可以问我。
#include
/*函声明区*/
void inputArr(int *, int);
void printArr(int *, int);
void Bubble_sort(int *, int);
void main()
{
/*数组初始化*/
int a[10] = { 0 };
printf("Please input 10 values:\n");
inputArr(a, 10);
Bubble_sort(a, 10);
printf("Please input the array after the sort:\n");
printArr(a, 10);
}
//输入10个数
void inputArr(int *arr,int n)
{
int i;
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
}
//冒泡排序
void Bubble_sort(int *array, int n)
{
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n-i; j++)
{
if (array[j] < array[j + 1])
{
int temp;
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
//输出10个数
void printArr(int *arr, int n)
{
for (int i = 0; i < n; i++)
{
printf("%3d", arr[i]);
}
printf("\n");
}
#include
#include
void bubble_sort(int a[], int len)
{
int i, j, temp;
int exchange = 0;
for (i = 0; i
exchange = 0;
for (j = len - 2; j >= i; j--)
{
if (a[j + 1]>a[j])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
exchange = 1;
}
}
if (exchange != 1)
return;
}
}
int main()
{
int i = 0;
int array[10];
for (i = 0; i < 10; i++)
{
printf("请输入第%d个数\n",i+1);
scanf("%d",&array[i]);
}
bubble_sort(array, 10);
printf("逆序排序后为\n");
for (i = 0; i < 10; i++)
{
printf("%d,",array[i]);
}
system("pause");
getchar();
return 0;
}