该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

前面已经有一道类似的题目为这道题做铺垫,我已经做出来啦。前面的题目是这样的:用选择法对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语言元素插入数组并排序,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...相关推荐

  1. 给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中

    Problem Description 给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这 ...

  2. C语言存储地址规律,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前面已经有一道类似的题目为这道题做铺垫,我已经做出来啦.前面的题目是这样的:用选择法对10个数进行排序. 我的做法,就是一个个对比扫描,从左到右递增.代码 ...

  3. C语言:将主函数中输入的字符串反序存放。例如:输入字符串“abcdefg“,则应输出“gfedcba“。

    #include <stdio.h> #include <conio.h> #include <string.h> #define N 81 void TestFu ...

  4. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

  5. 主元排序法c语言程序,C语言算法竞赛入门(二)---数组元素移动 、排序问题 、猴子选大王问题...

    数组元素移动 [问题描述]调整输入数组A[0..n],将其分为两部分,左边所有元素为奇数,右边所有元素为偶数 [输入形式]a0,b1,b2,a1,a2,b3,a3,a4 [输出形式]a0,a1,a2, ...

  6. 在升序排序的数组中插入一个元素 用函数编程实现在一个按升序排序的数组中查找x应插入的位置,将x插入数组中,使数组元素仍按升序排列。 提示:插入(Insertion)是数组的基本操作之一。插入法排序算法

    我先使用了三个函数参数,参数分别为数组a[],数组元素数量number和需要插入的数字n.函数定义为int f(int a[],int number,int n); #include <stdi ...

  7. JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)

    创建数组 var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2 ...

  8. C语言 几种排序方法(冒泡、选择、插入、归并、快速)

    排序 1.冒泡排序 2.选择排序 3.插入排序 4.归并排序 5.快速排序 1.冒泡排序 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来.走访元素的工作是重复地进行 ...

  9. Leetcode面试题 10.01. 合并排序的数组(C语言)

    Leetcode面试题 10.01. 合并排序的数组(C语言) 题目: 给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B. 编写一个方法,将 B 合并入 A 并排序.初始化 ...

最新文章

  1. mysql数据库 一条语句实现记录存在则更新,不存在则插入
  2. python编程小游戏-10分钟用Python编写一个贪吃蛇小游戏,简单
  3. jenkins与gitlab集成,分支提交代码后自动构建任务(六)
  4. 【Python学习系列十九】基于scikit-learn库进行特征选择
  5. Java的Map接口,以及Collection和Collections的区别
  6. SAP Fiori Elements - smart control demo1 currency field - how is manifest.json loaded
  7. 网址的bibtex格式
  8. 万年历c语言设计报告,C语言实训题目设计报告 万年历
  9. Visio的VBA初探
  10. 分布式文件系统FastDFS安装教程
  11. java怎么将在中加入数字,在Java中将前导零添加到数字中?
  12. 使用C语言编程求解: 1 - 1/2 + 1/3 - 1/4 + 1/5 - ... + 1/99 - 1/100 的值。
  13. 01我为什么学Unity3d
  14. (9)Redis-Cluster集群理论及实践【下】
  15. 苹果手机投屏软件_苹果手机怎样投屏到笔记本?
  16. android service开启前台通知
  17. 商人过河问题c语言图片,商人渡河问题图解法.doc
  18. 求和计算机教案,初中信息技术《Excel求和》教案.docx
  19. TCP和UDP的区别有哪些?
  20. 共享虚拟主机是不是服务器,共享虚拟主机、独享虚拟主机还是云服务器?

热门文章

  1. backlog配置_TCP/IP协议中backlog参数
  2. oracle常见单词_Oracle中常见的英语单词
  3. 查看ie保存的表单_小学信息技术gt;搜索保存网页教师资格证面试模板
  4. pytorch保存模型时报错***object has no attribute 'state_dict'
  5. matlab/ansys协同的一个例子
  6. ListView滑动删除效果实现
  7. 《底层逻辑》--思维导图
  8. Java并发编程实战~ReadWriteLock~
  9. html 自动排序代码,SEO中常用HTML代码大全,及权重排序
  10. linux路由表生成,路由表(FIB)内容的生成(一)