源程序代码以及算法解释如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i, j;//定义循环变量
int M_num;//定义中间变量
const int N = 10;//定义数组元素个数
int number[N];//定义两个数组
printf("请输入10个数组元素:\n");//文字提示
for (i = 0; i < N; i++)
{
scanf("%d", &number[i]);//循环输入数组元素
}
for (i = 1; i < 10; i++) {//冒泡排序外循环
for (j = 0; j < i; j++) {//内循环
if (number[i] < number[j])//小就置换
{
M_num = number[i];
number[i] = number[j];
number[j] = M_num;
}
}
}
for (i = 0; i < 10; i++)//循环输出
printf("%3d", number[i]);
printf("\n");
return 0;
}
程序运行结果如下:
扩展资料:
其他实现方法源程序:
#include<stdio.h>
void main()
{
int t,i,j,a[10]={1,3,5,7,8.10,2,4,6,9};
for(i=1;i<10;i++)
{
for(j=0;j<i;j++)
{
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
}
#include "stdio.h"
void main()
{
int i,j,a[10],temp;
printf("输入10个整数!\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
printf("排序后的数组为:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
void sort(int* a, int n)
{
int t;
for (int i = 0; i < n; i++)
{
for (int j = i+1; j < n; j++)
{
if(*(a+i) > *(a+j))
{
t = *(a+i);
*(a+i) = *(a+j);
*(a+j) = t;
}
}
}
}
void output(int* a,int n)
{
for (int i = 0; i < n; i++)
printf("%d ",*(a+i));
printf("\n");
}
void input(int* a,int n)
{
for (int i = 0; i < n; i++)
scanf("%d",(a+i));
}
int main()
{
int a[10];
input(a,10);
sort(a,10);
output(a,10);
return 0;
}
void main()
{ float a[10],c;
int i,b;
for(i=0;i<10;i++)
scanf("%f",a[i]);
for(i=1;i<10;i++)
for(b=1;b<i;b++)
if(a[i]>a[i-1]) c=a[i-1],a[i-1]=a[i],a[i]=c;
}