运用C语言,实现一个数组进行从大到小的排列。
注意的是,共n个元素,则共需要执行n-1次。第i次需要进行n-i次比较。
C语言:
#include <stdio.h>
int main()
{ /*创建一个大小为9的整数数组*/
int i, j, t, a[9]; /*i为总执行的次数 j为每次执行时应执行的次数 t为临时的变量用于数值交换*/
for(i=0; i<9; i++) /*让用户输入数组中的元素*/
{
scanf("%d", &a[i]);
}
for(i=1; i<9; i++) /*控制执行总次数 n-1*/
{
for(j=0; j<8-i; j++) /*每一次比较次数 n-i*/
{
if(a[j]>a[j+1]) /*比较与交换*/
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0; i<9; i++) /*将每个元素按顺序打印出来*/
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
python:
numbers = [] #创建一个列表
active = True #用户进行输入
while active:
number = input('please give me a number (enter "quit" to quit): ')
if number != 'quit':
numbers.append(number)
if number == 'quit':
active = False
n = len(numbers) #确定列表元素的个数n
for i in range(0, n-1): #算法主体
for j in range(0, n-1-i):
if numbers[j] > numbers[j + 1]:
temp = numbers[j]
numbers[j] = numbers[j + 1]
numbers[j + 1] = temp
for num in numbers: #打印各个元素
print(num)