教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

部分C语言程序设计算法与实现(3)

来源:网络收集 时间:2026-07-25
导读: 机器实验算法总结 #include void main(){ int a[20],i, b,c; /*这里定义了数组a[20]、变量i、变量b、变量c,这里变量b用于保存插入元素的位置c用来保存要插入的元素*/ printf(\//输出这行文字 for(i=0;i b-1;i--) a

机器实验算法总结

#include void main(){ int a[20],i, b,c; /*这里定义了数组a[20]、变量i、变量b、变量c,这里变量b用于保存插入元素的位置c用来保存要插入的元素*/ printf(\//输出这行文字 for(i=0;i<10;i++)//for循环,从0~9 scanf(\//循环体得到用户的输入并且分别赋给a[0]~a[9] printf(\//输出这行文字 for(i=0;i<10;i++) printf(\/*这里%-5d为格式化输出控制符,%d表示输出整型(int)]为先输出5个列空格再输出数字,%-5d为先输出数字后输出5个列空格。*/ printf(\scanf(\printf(\scanf(\b--;//将b转换为这个数的数组下标 for(i=9;i>b-1;i--) a[i+1]=a[i]; a[i+1]=c; for(i=0;i<11;i++)//for循环显示有效区的 printf(\putchar('\\n');//输出回车 } 代码十三

好,对于单个元素的插入我们研究到这里,下面再来看这个关于选定元素进行分类的问题,对于这个问题,我的想法可能比较复杂,需要用到插入和删除的方法。

循环读取数组元素并且与数组内的这个元素b进行比较,满足条件,b元素前面或者后面自动移出一个位置用于存放这个元素,同时删除原有位置的这个元素,说起来比较麻烦,还是先看图示(下图是将小于这个固定元素b的排前面,大于的排后面):

王晔2007年10月20日编写

机器实验算法总结

图示六

可能有点夸张,但理清思路,下面继续:大家可能注意到上图中8是个特殊的元素,这个元素起主要作用,数组中其它元素将与她进行比较,比她大的将排到其右边(后面),比她小的将排到她左边(前面)。这里需要进行比较也就是if语句;注意我们将与8一样大的归类于比8小的排到左边(前面)。现在思路有了,先枚举数组元素但跳过8这个元素,为保险起见,可以记录下其数组下标。循环开始,如果一个元素比8小并且在8的后面,我们就在8前面移动空个位置用于插入这个元素,在插入完成后,我们需要删除原有位置的这个元素,同理如果比8大且在8的前面,我们就在8后面移动空个位置用于插入这个元素,当然也要删除原有位置的这个元素。这样外循环一次即可。 外循环代码如下:

for(i=0;i<10;i++) if(i!=6){ } 代码十四

比较代码如下:

if(a[i]<=a[6]&&i>6){ //a[6]前面空出位置插入a[i]并删除原位置a[i],a[6]变为a[7] 王晔2007年10月20日编写

//程序代码在这里 机器实验算法总结

}else if(a[i]>a[6]&&i<6){ } 代码十五

综上关键代码如下:

// a[6]后面空出位置插入a[i]并删除原位置a[i],a[6]变为a[5] s=6;//记录位置 for(i=0;i

部分C语言程序设计算法与实现(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/607350.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)