用”起泡法“对输入的10数字符按由小到大顺序排列

起泡法:即每一次将相邻两个数进行比较,若符合条件则交换两个数的值。每进行一趟排序,最大的一个数变成最后一个数。以此类推,直至整个数组按照由小到大排列。

举例:现有数组(8 4 3 7 5 6 2 1)
第一趟:4 3 7 5 6 2 1 8
第二趟:3 4 5 6 2 1 7 8
第三趟:3 4 5 2 1 6 7 8
第四趟:3 4 2 1 5 6 7 8
第五趟:3 2 1 4 5 6 7 8
第六趟:2 1 3 4 5 6 7 8
第七趟:1 2 3 4 5 6 7 8

程序分析:由于每一次进行排序后均会产生一个数不用进行比较,因此设置变量k控制不用进行排序的数的个数。由于不确定每一次排序的比较次数,故采用while循环,在循环体中将前一个数与后一个数进行比较。在主函数中输入和输出10个数字。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{void z(int a[10]);int a[10];printf("请输入10个数字:");int i;for (i = 0; i < 10; i++){scanf("%d", &a[i]);}z(a);printf("10个数字从大到小排序为:");for (i = 0; i < 10; i++){printf("%d ",a[i]);}printf("\n");system("pause");return 0;
}
void z(int a[10])
{int i, t, j;i = 0; j = 1;int k;for (k = 0; k <= 9; k++){while (j < 10 - k)//每一趟比较结束后最大的数排到最后,第二次这个数不用进行比较{if (a[i] > a[j])//条件符合,交换二者的值{t = a[i];a[i] = a[j];a[j] = t;}i++;//无论是否符合条件,j、j均自增1j++;}i = 0; j = 1;//重置i,j的值}
}

调试结果:

呜呜,这个程序真的弄了我好长时间(主要是因为我太菜了)。刚开始的时候只能写出进行第一趟排序的代码,然后想了很久都不知道怎样循环进行每一趟的比较。最后没有办法去网上搜了其他人的代码来看,但是虽然他们的代码调试出来是正确的,却不是我的思路我理解不了一些代码的含义,最后突然恍然大悟,可以设置一个变量k来控制不用进行排序的数的个数(即循环趟数),一下子问题就解决了。终于终于完成啦这个题目!哦耶!

(19)写一个函数,用”起泡法“对输入的10数字符按由小到大顺序排列相关推荐

  1. 写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排列。

    代码: #include <stdio.h> #include <string.h> #define N 10 int main(){void sort(char str[]) ...

  2. 写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排列

    写一个函数,用"起泡法"对输入的10个字符按由小到大顺序排列(C语言) 题目要求:如标题,起泡法是一种重要的.基本的的排序算法 思路: 每次将相邻两个数比较,将较小的调到前面 若有 ...

  3. 写一个函数,用“冒泡法”对输入的10个字符按由小到大顺序排列

    冒泡算法实现 写一个函数,用"冒泡法"对输入的10个字符按由小到大顺序排列 十个字符为1a 3 x v 6 w 8 9 z #include<stdio.h> char ...

  4. 写一个函数,用冒泡法对输入的10个字符按由小到大顺序排列。

    def BubbleSort(arr):num = 0# arr = [10,9,8,7,6,5,4,3,2,1]for i in range(len(arr)):for j in range(len ...

  5. C语言>>写一函数,用“起泡法”对输入的10个字符由小到大排序。

    使用工具: Dev-C++ 5.11 解题思路: "起泡法"思路为:将相邻两个数比较,将较小的调到前头,较大的放到后头.经过1轮比较后,最大的数便调到最后一个位置.所以n个数要比较 ...

  6. [007]C++---写一个函数,返回它自己

    题目: 写一个函数,返回它自身,方法用C或者C++即可. 方法一: 用C++中仿函数的方法,来实现返回自身的引用. 1 #include<iostream> 2 using namespa ...

  7. 经典笔试题:用C写一个函数测试当前机器大小端模式

    "用C语言写一个函数测试当前机器的大小端模式"是一个经典的笔试题,如下使用两种方式进行解答: 1. 用union来测试机器的大小端 1 #include <stdio.h&g ...

  8. 金山笔试题-字符串排序 : 写一个函数,实现对给定的字符串(字符串里面包括:英文字母,数字,符号)的处理...

    写一个函数,实现对给定的字符串(字符串里面包括:英文字母,数字,符号)的处理.经过处理后的字符串其内容按字母,数字,符号的顺序存放.函数声明如下: void ParseString(char* pst ...

  9. 下面属于python内置对象的有哪些_python练习题-写一个函数,打印所有包含copy方法的内置对象...

    代码: #encoding=utf-8 for i in dir(__builtins__): #print "i:",i try: #这里的i是个字符串,并不能直接用dir(i) ...

最新文章

  1. PostgreSQL在何处处理 sql查询之十二
  2. (转发)一个通用的C++ 消息总线框架
  3. create-react-app 创建react项目 多页面应用
  4. 嵌入式无法使用QAudioDeviceInfo类
  5. php多应用,thinkphp6开启多应用模式
  6. 【报告分享】2021年度私域经营洞察报告.pdf(附下载链接)
  7. Exchange 2010部署
  8. Spark Mllib里数据集如何取前M行(图文详解)
  9. 基于Vue的单页面格式化数据高亮编辑器组件:兼容json/xml/html/txt多种格式
  10. 5ecsgo启动失败2错误代码2,5E打开csgo说csgo客户端需要更新 然后进不去游戏怎么回事?...
  11. 视觉SLAM十四讲 报错In function `fmt::v8::detail::error_handler::on_error(char const*)‘
  12. APNS(Apple Push Notification Service)远程推送原理解析
  13. ibms智能化系统集成服务器,智能化集成管理系统(IBMS)
  14. Springcloudalibaba整合es!实现相关性排序,集成完代码真香
  15. kaldi 的安装和thchs30语音识别测试
  16. Scrach基本概念与操作
  17. DBN深度信念网络介绍
  18. python-大智慧price_oscillator指标
  19. ffmpeg 奇葩问题2
  20. Windows程序设计——简单记事本

热门文章

  1. ElasticSearch(五) 倒排索引与分词
  2. 数组push()方法以及JavaScript中的示例
  3. 苹果手机几月份最便宜_现在最值得入手的苹果手机是哪款?
  4. Web程序设计——ASP.NET实用网站开发(第四版)课后习题答案
  5. 【每天学点管理】——以矛盾激发思维的“头脑风暴”
  6. 牛人经验2(国家形势与个人选择以及创业)
  7. centos su命令
  8. 英语音乐---一、Scarborough Fair
  9. Java Calendar 类的格式操作
  10. MMSegmentation 训练测试全流程