有一个已经排好序的数组+{1,6,9,14,20,48+},要求输入一个数后,按原来的排序

1个回答
展开全部
摘要 1.我们需要创建一个顺序数组(a[ ]),创建时要注意,我们要确保数组的元素总数比初始化的元素个数多一(因为此处是输入一个数)2.然后我们应当输入一个数,有三种情况:(1)第一种,这个数大于整个数组的所有元素,由于是顺序排列,所以我们可以直接将该数给直接赋为最后一个元素(2)第二种是小于最小的元素,第三种是输入的数处于元素大小中间的,在这两种情况下,我们首先要找到比输入的数(num)大的元素,然后用输入的数(num)来代替,而后面的数依次顺延,知道数组的末尾。所以我们可以将这两种情况一并考虑。
咨询记录 · 回答于2022-11-04
有一个已经排好序的数组+{1,6,9,14,20,48+},要求输入一个数后,按原来的排序
好的
  一个整型数组a[]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},编写程序,删去一维数组中所有相同的数,使之只剩一个, 最后数组值为{2,3,4,5,6,7,8,9,10}
这两个
1.我们需要创建一个顺序数组(a[ ]),创建时要注意,我们要确保数组的元素总数比初始化的元素个数多一(因为此处是输入一个数)2.然后我们应当输入一个数,有三种情况:(1)第一种,这个数大于整个数组的所有元素,由于是顺序排列,所以我们可以直接将该数给直接赋为最后一个元素(2)第二种是小于最小的元素,第三种是输入的数处于元素大小中间的,在这两种情况下,我们首先要找到比输入的数(num)大的元素,然后用输入的数(num)来代替,而后面的数依次顺延,知道数组的末尾。所以我们可以将这两种情况一并考虑。
首先我们将第一个大于num的元素a[j]给找出来a[j-1] (a[j]---->n1)<-------num (n2<----a[j+1])<------n1 n1<-------n2 然后用一个整形变量n1,将a[j]的值赋给n1,然后将num赋给a[j],以完成占位,然后a[j]的仅存在于n1中,我们需要将其赋给a[j+1],但是又要将a[j+1]的值给取出来,当作下一次循环赋值的初始值,我们就可以有 n2=a[j+1]; a[j+1]=n1;n1=n2;就可以将后面的数依次后延,然后再用循环,将数组的值输出
可以直接给我发代码么
  一个整型数组a[]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},编写程序,删去一维数组中所有相同的数,使之只剩一个, 最后数组值为{2,3,4,5,6,7,8,9,10}这个问题嘞
#includeint main(){ int a[]={1,2,2,3,4,5}; int hash[100]={0},i,j; for(i=0;i
这是哪一个问的,我想要两个问题的,就是我打给你的那两个问题第一个:有一个已经排好序的数组 {1,6,9,14,20,48 },要求输入一个数后,按原来的排序规律,把它插入到数组中第二个: 一个整型数组a[]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},编写程序,删去一维数组中所有相同的数,使之只剩一个, 最后数组值为{2,3,4,5,6,7,8,9,10}
后用一个整形变量n1,将a[j]的值赋给n1,然后将num赋给a[j],以完成占位,然后a[j]的仅存在于n1中,我们需要将其赋给a[j+1],但是又要将a[j+1]的值给取出来,当作下一次循环赋值的初始值,我们就可以有 n2=a[j+1]; a[j+1]=n1;n1=n2;就可以将后面的数依次后延,然后再用循环,将数组的值输出
#include int main(){int a[]= {1,2,3,4,5,6,7,8,9,10}, *p, i;p = a;for(i=0; i<10; i++) {printf("%d ", *p);p ++;}return 0;} 本回答由提问
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消