前言
用循环嵌套来解决排序的问题在计算机中经常用到
概要
对10个任意数字进行由大到小的排序
写一个程序,对10个任意数字进行由大到小的排序
代码注解
代码语言:javascript复制#include <stdio.h>
main() //这种情况下main函数默认为int型
{
int i,j,a[10]={12,233,100,3,46,0,2,12,18,22},tmp; //定义两个整型变量i,j进行循环控制,一个整理变量tmp用来进行临时存放,一个长度为10的整型数组a用来存放乱序的数列
for(i=0;i < 10-1;i ) //i赋初值为0,在[0,8]的范围里,i会逐一递增
{
for (j=i 1;j<10;j ) //j赋初值为i 1,在[i 1,9]的范围里,j会逐一递增
{
if (a[i] < a[j]) //对a[i]和a[j]进行比较,如果a[j]更大,则将它俩的值进行对调
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp; //参入一个临时变量是进行数值对调的常用方法
}
}
}
for(i=0;i<10;i ) printf("%d ",a[i]); //i赋初值为0,在[0,9]的范围里,i会逐一递增,遍历并且格式化输出处理过后的数组a
printf("n");
return 0; //main函数在没有加返回类型的情况下,默认为int型,如果不在此加上返回值,编译过程中会产生警告
}
思路
将第一个元素与剩余所有元素进行比较,找出最大的,存到第一个位置,然后顺次将第二个元素与剩余所有元素进行比较,找出最大的,存到第二个位置,依次类推,遍历完所有元素后,就形成了一个从大到小的列表
基础知识点
- 数组的定义与赋值
- 循环的嵌套与控制
原文地址