當前位置:首頁 » 編程語言 » c語言怎麼把一個數插入數組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼把一個數插入數組

發布時間: 2022-04-15 16:01:16

c語言中如何把一個輸入的整數插入數組

你定義了一個整形變數和一個字元數組變數!想將整形數字放到a[]里去那麼要進行類型轉換,不然會將數字400以ASCII碼輸出!
#include"stdio.h"
#define N 10
void main()
{
int x;
char a[N];
printf("請輸入一個整數\n");
scanf("%d",&x);
a[N]=x;
printf("a中的數值是%d\nx中的數值是%d\n",a,x);
}

② c語言 將一個數插入一個數組

下面是改好的,具體請看注釋:

#include<stdio.h>
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);
printf("\nNow is:\n");
for(i=0;i<=9;i++)
{
if(a[i]>t1)
{
for(j=10;j>i;j--) //這里!這里!這里!這里!
{
a[j]=a[j-1];//這里!這里!這里!這里!
}

a[i] = t1;
break; //這里!這里!這里!這里!放錯位置了,應該在裡面
}
}
for(i=0;i<=10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}

③ 在c語言中,如何在數組中插入一個數

方法為:輸入一個數據x,將數組中的數據與x逐一比較,如果大於x,記錄下數據的下標,然後此數據下標和其後的數據的下標都加一,相當於都向後挪一位,然後將x賦值給數組的那個下標。

#include<stdio.h>

int main()

int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;

printf("插入前數組的數據是:") ;

for(i=0;i<10;i++)

printf("%4d",a[i] ) ;

printf(" ") ;

printf("請輸入要插入的數據:") ;

scanf("%d",&x) ;

for(i=0;i<10;i++)

if(a[i]>x)

break;

for(j=9; j>=i; j--)

aLj+1] =aLj] ;

a[i]=x;

printf("插入後數組的數據是:") ;

for(i=0; i<11; i++)

printf("%4d",[i] ) ;

return 0;

(3)c語言怎麼把一個數插入數組擴展閱讀:

數組的使用規則:

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>
voidinsert(int*a,intn,inti,intv)
//將長度為n的數組a,下標為i的位置插入值為v的元素。插入後,數組長度為n+1.
{
intj;
for(j=n-1;j>=i;j--)//將i及以後的後移一位。由於是固定位置插入,所以不需要查找插入位置。
a[j+1]=a[j];
a[i]=v;//插入元素。
}

intmain()
{
inta[5]={1,3,6,7};/五個元素數組,初始化四個值。
inti;

insert(a,4,2,5);//將5插入到a[2]位置。
for(i=0;i<5;i++)
printf("%d",a[i]);//輸出結果,為13567
return0;
}

⑤ C語言求助,把一個數插入到一個已排好序的數組中

1、可以用下面代碼把數插入一個排好序的數組,數組進行迭代取值。

⑥ C語言數組插入一個數據的問題

您好,很高興回答您的問題。
break是在遇到判斷條件為真時才執行。這里是當遇到第一個比輸入的數大的時候,就用break結束循環,目的就是找到了需要存放這個後來輸入的數據的位置。後面的for循環就是將之前找到的位置及之後的數據全部往後挪一位,然後再把新輸入的數據放到這個位置上。
不過您程序中給的原始數列也不是排好序的數哦,所以輸入數據排序好像不太具有說服力哦。

⑦ 在c語言中,如何在數組中插入一個數

C語言向有序數組中插入一個數使該數組仍保持有序

#include<stdio.h>
int main()
{int n,i,j,t,k;printf("您喜歡的數組長度: ");
scanf("%d",&n);
int a[n],b[n+1];
printf("您喜歡的有序數組: ");
for(i=0;i<n;i++)
{scanf("%d",&a[i]);}
printf("請輸入想插入的數字 ");
scanf("%d",&k);
for(i=0;i<=n;i++)
{if(i==n) b[i]=k;else b[i]=0;}
for(i=0; i<n; i++)
{for(j=0; j<n; j++)
{b[j]=a[i++];}}
for(j=0;j<n;j++)
{for(i=0;i<n-j;i++)
{if(b[i]>b[i+1])
{t=b[i];b[i]=b[i+1];b[i+1]=t;}}}
for(j=0; j<n+1; j++)
{printf("%d ",b[j]);}}

⑧ C語言如何把輸入進去的數放到數組中

include<stdio.h>

void main()

{

int a[3][3],i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

sacnf("%d",&a[i][j]);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

printf("a[%d][%d]=%d ",i,j,a[i][j]);

}

(8)c語言怎麼把一個數插入數組擴展閱讀:

數組的使用規則:

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語言中,將一個數插入一個數組中,程序怎麼寫

#include
void
main()
{
int
s[10]={1,2,3,4,5,6,7,8,9};
int
n;
printf("請輸入需要插入到數組中的位置:");
scanf("%d",&n);
//比如說插入到第三個位置,即s[2]中,則輸入3
int
num;
printf("請輸入需要插入的數:");
scanf("%d",&num);
for
(int
i=10-1;i>=n;i--)
{
s[i]=s[i-1];
}
s[i]=num;
printf("插入之後的數組:\n");
for
(i=0;i<10;i++)
{
printf("%d
",s[i]);
}
printf("\n");
}

⑩ C語言里怎樣把一個數加到數組中

#include <stdio.h>
main(){
int a[10000];
int s;
int i;
int j;
j=0;
for(i=100;i<=9999;i++){
if(i%4==0 && i%5==0){
a[j]=i; /*如果符合條件 往數組里添加一個*/
j++; /*如果符合條件 數組下標加一*/
}
}
j=0; /*回到a數組的第一個*/
while(a[j]!='\0'){ /*循環直到 \0 */
printf("%d\t",a[j]); /*列印*/
j++;
}
printf("\n%d",j); /*輸出有多少個數 符合條件*/
}