c语言元素插入数组并排序,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前面已经有一道类似的题目为这道题做铺垫,我已经做出来啦。前面的题目是这样的:用选择法对10个数进行排序。
我的做法,就是一个个对比扫描,从左到右递增。代码如下:
#include
#define N 10
int main ()
{
int array[N];
int i,j,k,temp; // i 为基准位置,j 为当前被扫描元素位置,k 用于暂存出现的较小的元素的位置
for (i = 0; i <=9; i++)
scanf ("%d", &array[i]);
for (i=0;i<9;i++)//从第一个元素左到右扫描。
{ k=i;//初始化为基准位置
for(j=i+1;j<9;j++)
{
if (array[j]
{ temp=array[j];
array[j]=array[k];
array[k]=temp;
}// 将此趟扫描得到的最小元素与基准互换位置
}
}
for (i = 0; i <= 9; i++)
printf ("%3d", array[i]);
printf ("\n");
}
那么遇到这道题,我是这么想的。我先给一个10个元素的数组赋值并递增,然后用键盘添加一个数。再用上一题的方法,再从头到尾扫描。
#include
int main ()
{ //用折半法做不出来,改为用选择法。
int array[11] = {0};
int t, i ,n, j;
for (i = 0; i < 10; i++)
if (i == 0) array[0] = 1;
else
array[i] = array[i-1] + i; //自动对数组赋值。
for (i = 0; i < 10; i++)
printf ("%3d ", array[i]);
printf ("\n");
scanf ("%d", &array[10]); //通过键盘对第11个元素赋值。
for (i = 0; i < 11; i++)
for (j = i+1; j < 11; j++)
{
if (array[j] < array[i])
{
t = array[i];
array[i] = array[j];
array[j] = t; //如果后面的数大于前面的数,那么两个数互换。
}
}
for (j = 0; j < 11; j++)
printf ("%3d ", array[i]);
printf ("\n"); //对这11个元素进行输出。
}
运行时候,通过键盘赋值时候,新的数组就变成了一堆垃圾值。
运行结果:
1 2 4 7 11 16 22 29 37 46
23
1638280 1638280 1638280 1638280 1638280 1638280 1638280 1638280 1638280 1638280
1638280
Press any key to continue
c语言元素插入数组并排序,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...相关推荐
- 给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中
Problem Description 给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这 ...
- C语言存储地址规律,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前面已经有一道类似的题目为这道题做铺垫,我已经做出来啦.前面的题目是这样的:用选择法对10个数进行排序. 我的做法,就是一个个对比扫描,从左到右递增.代码 ...
- C语言:将主函数中输入的字符串反序存放。例如:输入字符串“abcdefg“,则应输出“gfedcba“。
#include <stdio.h> #include <conio.h> #include <string.h> #define N 81 void TestFu ...
- C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入
例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...
- 主元排序法c语言程序,C语言算法竞赛入门(二)---数组元素移动 、排序问题 、猴子选大王问题...
数组元素移动 [问题描述]调整输入数组A[0..n],将其分为两部分,左边所有元素为奇数,右边所有元素为偶数 [输入形式]a0,b1,b2,a1,a2,b3,a3,a4 [输出形式]a0,a1,a2, ...
- 在升序排序的数组中插入一个元素 用函数编程实现在一个按升序排序的数组中查找x应插入的位置,将x插入数组中,使数组元素仍按升序排列。 提示:插入(Insertion)是数组的基本操作之一。插入法排序算法
我先使用了三个函数参数,参数分别为数组a[],数组元素数量number和需要插入的数字n.函数定义为int f(int a[],int number,int n); #include <stdi ...
- JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)
创建数组 var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2 ...
- C语言 几种排序方法(冒泡、选择、插入、归并、快速)
排序 1.冒泡排序 2.选择排序 3.插入排序 4.归并排序 5.快速排序 1.冒泡排序 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来.走访元素的工作是重复地进行 ...
- Leetcode面试题 10.01. 合并排序的数组(C语言)
Leetcode面试题 10.01. 合并排序的数组(C语言) 题目: 给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B. 编写一个方法,将 B 合并入 A 并排序.初始化 ...
最新文章
- mysql数据库 一条语句实现记录存在则更新,不存在则插入
- python编程小游戏-10分钟用Python编写一个贪吃蛇小游戏,简单
- jenkins与gitlab集成,分支提交代码后自动构建任务(六)
- 【Python学习系列十九】基于scikit-learn库进行特征选择
- Java的Map接口,以及Collection和Collections的区别
- SAP Fiori Elements - smart control demo1 currency field - how is manifest.json loaded
- 网址的bibtex格式
- 万年历c语言设计报告,C语言实训题目设计报告 万年历
- Visio的VBA初探
- 分布式文件系统FastDFS安装教程
- java怎么将在中加入数字,在Java中将前导零添加到数字中?
- 使用C语言编程求解: 1 - 1/2 + 1/3 - 1/4 + 1/5 - ... + 1/99 - 1/100 的值。
- 01我为什么学Unity3d
- (9)Redis-Cluster集群理论及实践【下】
- 苹果手机投屏软件_苹果手机怎样投屏到笔记本?
- android service开启前台通知
- 商人过河问题c语言图片,商人渡河问题图解法.doc
- 求和计算机教案,初中信息技术《Excel求和》教案.docx
- TCP和UDP的区别有哪些?
- 共享虚拟主机是不是服务器,共享虚拟主机、独享虚拟主机还是云服务器?
热门文章
- backlog配置_TCP/IP协议中backlog参数
- oracle常见单词_Oracle中常见的英语单词
- 查看ie保存的表单_小学信息技术gt;搜索保存网页教师资格证面试模板
- pytorch保存模型时报错***object has no attribute 'state_dict'
- matlab/ansys协同的一个例子
- ListView滑动删除效果实现
- 《底层逻辑》--思维导图
- Java并发编程实战~ReadWriteLock~
- html 自动排序代码,SEO中常用HTML代码大全,及权重排序
- linux路由表生成,路由表(FIB)内容的生成(一)