前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >那些年我们一起忘掉的C (六).数值排序

那些年我们一起忘掉的C (六).数值排序

作者头像
franket
发布2021-10-18 10:52:46
2370
发布2021-10-18 10:52:46
举报
文章被收录于专栏:技术杂记

前言

用循环嵌套来解决排序的问题在计算机中经常用到


概要


对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型,如果不在此加上返回值,编译过程中会产生警告
}

思路

将第一个元素与剩余所有元素进行比较,找出最大的,存到第一个位置,然后顺次将第二个元素与剩余所有元素进行比较,找出最大的,存到第二个位置,依次类推,遍历完所有元素后,就形成了一个从大到小的列表

基础知识点

  • 数组的定义与赋值
  • 循环的嵌套与控制

原文地址

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 概要
    • 对10个任意数字进行由大到小的排序
      • 代码注解
      • 思路
      • 基础知识点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档