本文目錄一覽:
- 1、在c語言中,如何在數組中插入一個數?
- 2、在c語言中,怎樣在一個數組中插入一數
- 3、c語言 在數組中插入一個數該怎麼寫
- 4、在c語言中,如何在數組中插入一個數
- 5、c語言插入數組元素(數組)
- 6、C語言數組怎麼插入一個元素
在c語言中,如何在數組中插入一個數?
C語言向有序數組中插入一個數使該數組仍保持有序
#includestdio.h
int main()
{int n,i,j,t,k;printf(“您喜歡的數組長度:\n”);
scanf(“%d”,n);
int a[n],b[n+1];
printf(“您喜歡的有序數組:\n”);
for(i=0;in;i++)
{scanf(“%d”,a[i]);}
printf(“請輸入想插入的數字\n”);
scanf(“%d”,k);
for(i=0;i=n;i++)
{if(i==n) b[i]=k;else b[i]=0;}
for(i=0; in; i++)
{for(j=0; jn; j++)
{b[j]=a[i++];}}
for(j=0;jn;j++)
{for(i=0;in-j;i++)
{if(b[i]b[i+1])
{t=b[i];b[i]=b[i+1];b[i+1]=t;}}}
for(j=0; jn+1; j++)
{printf(“%d “,b[j]);}}
在c語言中,怎樣在一個數組中插入一數
#include “stdio.h”
#include “stdlib.h”
void main()
{
int *p,k,h,*q,i,j,e;
printf(“請輸入數組中的元素的個數最大值:”);
scanf(“%d”,k);
p=new int[k];
if(p==NULL)
{
printf(“不能分配空間!”);
exit(0);
}
printf(“請輸入數組中的元素的個數:”); //可以輸入比數組長度小的個數
scanf(“%d”,h);
printf(“請輸入數組中的元素(分別輸入):\n”);
for(i=0;ih;i++)
scanf(“%d”,p[i]);
if(h==k)
{
q=new int[k+1];
if(p==NULL)
{
printf(“不能分配空間!”);
exit(0);
}
for(i=0;ik;i++)
q[i]=p[i];
printf(“請輸入插入在第幾個數的後面和要插入的數:”);
scanf(“%d%d”,j,e);
for(i=k;i=j;i–)
q[i+1]=q[i];
delete p;
q[j]=e;
for(i=0;ik+1;i++)
printf(“%d\t”,q[i]);
delete q;
}
if(hk)
{
printf(“請輸入插入在第幾個數的後面和要插入的數:”);
scanf(“%d%d”,j,e);
for(i=h-1;i=j;i–)
p[i+1]=p[i];
p[j]=e;
for(i=0;ih+1;i++)
printf(“%d\t”,p[i]);
delete p;
}
}
我使用動態數組來考慮兩種情況
1.數組滿的,需要從新申請數組,然後後移;
2.直接後移;
c語言 在數組中插入一個數該怎麼寫
已改,看注釋
#includestdio.h
#define MAXNUMBER 30
void main()
{
int n=5;
int array[MAXNUMBER]={12,5,7,6,32};
int value;
int location;
int i;
printf(“修改前的數組:\n”);
for (i=0;in;i++)
printf(“%5d”,array[i]);
//————-數組的插入操作——————
printf(“\n 請輸入要插入的元素值:”);
scanf (“%d”,value);
printf(“請輸入要插入的位置(1..%d): “,n+1);
scanf(“%d”,location);
if((location1)||(locationn+1))
{
printf(“你輸入的位置超出範圍!!\n”);
return;
}
if(n==MAXNUMBER)
{
printf(“數組已達到最大長度,再插入將超過超出範圍!!\n”);
return;
}
n++;
for (i=n – 1;ilocation-1;i–) // 應該改成ilocation
array[i]=array[i-1];
array[location-1]=value;
printf(“插入後的數組為:\n”);
for(i=0;in;i++)
printf(“%5d”,array[i]);
}
在c語言中,如何在數組中插入一個數
方法為:輸入一個數據x,將數組中的數據與x逐一比較,如果大於x,記錄下數據的下標,然後此數據下標和其後的數據的下標都加一,相當於都向後挪一位,然後將x賦值給數組的那個下標。
#includestdio.h
int main()
int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;
printf(“插入前數組的數據是:”) ;
for(i=0;i10;i++)
printf(“%4d”,a[i] ) ;
printf(“\n”) ;
printf(“請輸入要插入的數據:”) ;
scanf(“%d”,x) ;
for(i=0;i10;i++)
if(a[i]x)
break;
for(j=9; j=i; j–)
aLj+1] =aLj] ;
a[i]=x;
printf(“插入後數組的數據是:”) ;
for(i=0; i11; i++)
printf(“%4d”,[i] ) ;
return 0;
擴展資料:
數組的使用規則:
1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。
2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;(請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,數據庫是從1開始。)
3.如不給可初始化的數組賦初值,則全部元素均為0值。
4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。
參考資料:
百度百科-數組
c語言插入數組元素(數組)
C語言中,數組是一組連續的相同類型的數據集合。 所以要在數組中插入元素,需要按照以下步驟:
1、找到插入點;
2、將插入點所在元素,及之後的所有元素,都向後移動一個單位;
3、將插入點賦值為要插入的元素。
以固定位置插入,代碼舉例如下:
#include stdio.h
void insert(int *a, int n, int i, int v)
//將長度為n的數組a, 下標為i的位置插入值為v的元素。 插入後,數組長度為n+1.
{
int j;
for(j = n-1; j=i; j –)//將i及以後的後移一位。 由於是固定位置插入,所以不需要查找插入位置。
a[j+1] = a[j];
a[i] = v;//插入元素。
}
int main()
{
int a[5] = {1,3,6,7};/五個元素數組,初始化四個值。
int i;
insert(a, 4, 2, 5);//將5插入到a[2]位置。
for(i = 0; i 5; i ++)
printf(“%d “, a[i]);//輸出結果,為1 3 5 6 7
return 0;
}
C語言數組怎麼插入一個元素
#includestdio.h
#includestdlib.h
#define MAX 40
void insert(int*p,int n,int m)
{ int i,k;
for(i=0;in;i++)
if(p[i]=m)
{ k=i;
break;}
for(i=n-1;i=k;i–)
p[i+1]=p[i];
printf(“%d\n”,k);
p[k]=m;
}
void sort(int*p,int n)
{
int i,j;
for(i=1;in;i++)
for(j=0;i+jn;j++)
if(p[j]p[j+1])
{ int t;
t=p[j+1];
p[j+1]=p[j];
p[j]=t;
}
}
void main()
{
int a[MAX];
int n,i,m,d;
printf(“輸入數據個數(n40):”);
d=scanf(“%d”,n);
while(d!=1n=40)
{ system(“cls”);
fflush(stdin);
printf(“請重新輸入:”);
scanf(“%d”,n);
}
printf(“請輸入數組元素:”);
for(i=0;in;i++)
scanf(“%d”,a+i);
printf(“請輸入要插入的數字:”);
scanf(“%d”,m);
sort(a,n);
insert(a,n,m);
for(i=0;in;i++)
printf(“%d “,a[i]);
printf(“\n”);
}
原創文章,作者:GRHR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142436.html