C语言怎样将一个数插入一个数组

作者&投稿:愈彦 (若有异议请与网页底部的电邮联系)
关于C语言在数组里插入一个数~

#include"stdio.h"
#include"string.h"
void main()
{
int a[11]={93,58,2,65,4,30,24,45,78,122}; //////////这里定义数组的时候,要写上11,否则会认为该数组只有10个元素,那样的话,无法对其进行插入的。其他地方没有错误
int i,j,temp,n;

for(i=0;i<10;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
printf("按从小到大的排列顺序为:
");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("请输入你想插入数组的数字:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(n<a[i])
{
for(j=9;j>=i;j--)
a[j+1]=a[j];
break;
}
a[i]=n;
for(i=0;i<11;i++)
printf("%d ",a[i]);
printf("
");
}

void main()
{
int t,i,k;
static int a[7]={3,6,9,17,23,30,45}; /*数组大小不对*/
printf("input t
");
scanf("%d",&t);
for(i=0;i<7;i++)
if(t>a[i]&&t<a[i+1]) a[i+1]=t;
/*循环结束的时候,i=7,下面的一句实际上没有执行*/
for(k=i;k<7;k++) a[k+2]=a[k+1];
for(i=0;i<8;i++)
printf("%d ",a[i]);
getch();
}
---------------------------
void main()
{
int t,i,k;
static int a[8]={3,6,9,17,23,30,45};
printf("input t
");
scanf("%d",&t);
for(i=0;i<7;i++)
{
if(t>a[i]&&t<a[i+1])
/*a[i+1]=t;*/
break; /*找到位置就跳出循环,先不要插入,要先往后移,空出位置之后再插入*/
}
/*for(k=i;k<7;k++) a[k+2]=a[k+1]; */
/* 这里也有问题,往后搬移,应该从后往前搬*/
for(k=7;k>i+1;k--) a[k]=a[k-1];
/*插入*/
a[k]=t;
for(i=0;i<8;i++)
printf("%d ",a[i]);
getch();
}

看数组大小,如果刚好,则要开辟空间,如果数组本身就足够,从插入位置移动数组,从后往前移,最后插入这个数值。

一位数组:int a[5]={1,2,3,4,5};
多位数组:int a[3, 3]={{1,2,3},{4,5,6},{7,8,9}
除以上有更多表示数组,自己试一下


C语言如何把一个整数按大小顺序插入已排好序的数组中?
第一种方法 main(){int i,j,p,n,s,a[11]={127,6,3,28,68,87,105,54,162,18};for(i=0;i<10;i++){for(j=i+1;j<10;j++) if(a[i]<=a[j]) p=a[i],a[i]=a[j],a[j]=p;}printf("输入参与排序的数字:");scanf("%d",&n);a[10]=n;for(i=0;i<11;i++)...

如何用c语言编程输入一个数将其插入从小到大排列的n个数且仍保持有序...
list[i + 1] = list[i];list[i + 1] = x;} void main( ){ int i, list[N + 1], x;printf("从小到大输入10个数:\\n");for(i = 0; i < N; i++)scanf("%d", &list[i]);printf("输入要插入的数:\\n");scanf("%d", &x);insert(list, N, x);printf("插入的结...

C语言求助,把一个数插入到一个已排好序的数组中
1、可以用下面代码把数插入一个排好序的数组,数组进行迭代取值。2、下面是数组排序的代码,这里是按大小排序的,每次取值和输入的数比较,比输入的数小,就往后移动移位,直到移出输入数该放的位置,反之也是。3、或者用下图的代码实现,有一个已排好序的数组,现在插入一个数字。4、按原来已排好的...

C语言编程:一个已经排好序的数组,往里插一个数,并找出他插到哪里?
#include int main() { int i,n=10,a[20]={2,4,6,7,8,10,13,16,17,26},x; for(i=0;i0&&a[i]>x;i--) a[i+1]=a[i]; a[++i]=x; printf("插入到a[%d]:\\n",i); n++; for(i=0;i<n;i++) printf("%d ",a[i]); printf("\\n"); return 0; } 已赞过 已踩过< ...

C语言中,怎样把一个整数按大小顺序插入已经排好序的整形数组中?_百度...
\/*整体思路是先将输入的十个数从小到大排列好,然后再将单独输入的数与数组比较大小并将其插入数组中,这部分是关键。需要注意的是我们在刚开始时将数组长度定义为11,就是为后面插入一个数预留的空位*\/#include <stdio.h>void main(){ int a[11]; \/*数组长度为11*\/ int n=10,i,j,k,t; int x,count...

C语言编程:有一个已排好序的数组,现输入一个数插入到数组中,要求插入该...
);\/*输入1个数*\/ scanf("%d",&x);\/*找到需要插入的位置j*\/ for (i=0;i<n;i++) if (a[i]<x) j=i+1;\/*把j之后的数据后移*\/ for (i=n;i>j;i--) a[i]=a[i-1];\/*插入数据*\/ a[j]=x;\/*输出结果*\/ for (i=0;i<=n;i++) printf("%d\\t", a[i]);} ...

...7 9 11 13 15 17 19 输入一个数字,将其按大小插入其中
include "stdio.h"int main(void){ int a[11]={1,3,5,7,9,11,13,15,17,19},i,n; printf("Input n(int)...\\nn="); scanf("%d",&n); for(i=9;i>=0;i--){ if(n>=a[i]){ a[i+1]=n; break; } a[i+1]=a[i]; } if(i<0...

一维数组的有序插入,用C语言写。
遍历数组,找到插入位置,即第一个大于x的元素的位置i;将插入位置后的元素后移一位;在插入位置处插入x;返回插入后数组的长度n+1。在主函数中,我们先输入有序数列的长度n和n个有序整数,然后输入要插入的整数x。接着调用insertX函数将x插入到数组中,并输出插入后的有序整数序列。需要注意的是,...

用c语言做以下题目:已有一个已排好的数组,要求输入一个数后,按原来排序...
1、先逐个筛选数组中的每个元素。2、再比较每相邻的两个元素。3、根据比较结果进行元素的交换,以实现排序。4、如果要从终端输入数组,就加一个输入函数。5、最后,如果是从小到大排序,基本逻辑也是一样的。注意事项:C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言...

c语言 将一个数插入一个数组
int main(){ int a[11]={1,3,5,15,36,37,58,79,80,95},i,t1,t2;int j;\/\/这里!这里!这里!这里!需要新定义一个变量来控制数组元素的后移 printf("Previous is:\\n");for(i=0;i<=9;i++)printf("%5d",a[i]);printf("\\nPlease input a number:");scanf("%d",&t1);pr...

宿迁市13132566303: c语言中如何实现输入一个整数,并将它存入一个数组 -
杭萧三七: 类似这样 int i[5],j;for(j=0;j<5;j++) { scanf("%d", i+j); }

宿迁市13132566303: C语言 如何把一个变量值赋给一个数组. -
杭萧三七: 1.整型值赋值给整型数组:int value=2;//定义一个变量,并赋值 int array[10];//定义一个数组 array[0]=value;//将变量值赋值给该数组. 2.整型值赋值给字符数组: int value=3; char str[10];str[0]=value+'0';//赋值给单个字符 itoa(value,str,10);//数字转字符串函数itoa,10代表十进制.要包含头文件<stdio.h> 3.字符赋值给整型数组 char ch; int array[10]; array[0]=atoi(ch); 仅举上例.

宿迁市13132566303: 用C语言写的一个程序:有一个已排好的数组,要求输入一个数后,按原来排序的规律将它插入数组中. -
杭萧三七: 代码如下:#include<stdio.h> int main() { int a[20],i=0,n,x,k,j; printf("请输入一组顺序数(从小到大的顺序):"); while(~scanf("%d", &a[i])) { i++; if(getchar() == '\n') break; //在这判断,否则原先的第一个数字读不进去 } n=i; for(i=0;i<n;i++)...

宿迁市13132566303: 如何用C语言实现输入一个数,构造一个数组 -
杭萧三七: int main() {int n, i, j;int **arr;scanf("%d", &n);for (i = 0; i < n; i++){arr = (int**)malloc(n * sizeof(int));for (j = 0; j < n; j++){arr[j] = (int*)malloc(n * sizeof(int));}}for (i = 0; i < n; i++){for (j = 0; j < n; j++){scanf("%d", &arr[i][j]);printf("%d ...

宿迁市13132566303: C语言如何把一个整数按大小顺序插入已排好序的数组中? -
杭萧三七: #include <stdio.h> void main() { int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};//这个不用说了吧 for (i=0;i<10;i++)//十次循环 { p=i;//到此p等于i等于0 q=a[i];//到此q等于a[0]=127 for (j=i+1;j<10;j++)//九次循环 if(q<a[j])//将q也就是a[i]和他...

宿迁市13132566303: C语言中如何把一个常量放进一个数组里面? -
杭萧三七: 我假设你问题中的语句写错了,那么如果是 int a = 123;a是一个变量,而不是一个常量 如果是 const int a=123;那么a才是一个常量.至于“放进”tab中,无非就是将一个int类型数值复制到无符号字符型数组的某个位置,这就复杂了,如果是 tab[10]=a;那么在一些编译器下会编译出错,因为出现了数据截断,如果是*((int *)(&tab[10])) = a;那么a能全放进去,但是会覆盖掉tab[10]到tab[13]的4个字节数据

宿迁市13132566303: c语言程序设计 编程实现由键盘输入一个数插入到有序数组中. -
杭萧三七: #include<stdio.h> main () { int i,j,k; int n[8]={1,2,5,8,9,13,22}; printf("请输入需要插入的整数:\n"); scanf("%d",&k); if(k>n[6]) n[7]=k; else { for(i=0;n[i]<=k;i++); for(j=7-1;j>=i;j--) n[j+1]=n[j]; n[i]=k;} for(i=0;i<=7;i++) printf("%6d",n[i]); }

宿迁市13132566303: C语言中如何将未知个数的数存放在一个数组中? -
杭萧三七: 在C语言中数组的定义必须指明维数,即使没有指明维数,也必须进行初始化,编译器通过初始化列表中的元素个数来确定数组的维数,比如下面的代码: int a[] = {1,2,3}; 虽然没有指明数组的维数,但是编译知道数组a的维数是3(只有三个元...

宿迁市13132566303: C语言实现一个函数,将一个指定的值插入到一个已经默认排好序的数组当中,并将插入后的数组输出,例如, -
杭萧三七: void put(int *a,int n,int k) //a为数组名,n为从0开始的数组长度,k为要插入的数 { int i; for(i=0;i { if(k printf("%d ",a[i]); } printf("\n"); }

宿迁市13132566303: 2. C语言 从键盘上输入一个数,将之插入到一个有序的数组中.程序的主柜架如下,请完善该程序: #include -
杭萧三七: #include <stdio.h> void main() { int a[6]={1,3,6,8,9}; int i,n; printf("请输入一个数"); scanf("%d",&n); for(i=0;i<5;i++) { if(n<=a[i]) //找出已有序列中比n大的第一个数; { for(int j=5;j>i;j--) //然后将以后的数都向后移一位, a[j]=a[j-1]; a[i]=n; ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网