#includestdio.h
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比青銅峽網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式青銅峽網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋青銅峽地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
#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("輸入數(shù)據(jù)個數(shù)(n40):");
d=scanf("%d",n);
while(d!=1n=40)
{ ? system("cls");
? ?fflush(stdin);
printf("請重新輸入:");
scanf("%d",n);
}
printf("請輸入數(shù)組元素:");
for(i=0;in;i++)
scanf("%d",a+i);
printf("請輸入要插入的數(shù)字:");
scanf("%d",m);
? sort(a,n);
? insert(a,n,m);
? for(i=0;in;i++)
? printf("%d ",a[i]);
? printf("\n");
}
樓上zhangna_307的算法沒錯 但是程序有些不太優(yōu)雅~
我來改下~~
#include iostream
using namespace std;
void main()
{
int i, a[5];
for(i = 0; i 5; i++) {
cin a[i]; //輸入數(shù)組里的元素
}
for(i = 0; i 5; i++){
a[i]++; //數(shù)組里每個元素加1
cout a[i] " "endl;//輸出數(shù)組
}
方法為:輸入一個數(shù)據(jù)x,將數(shù)組中的數(shù)據(jù)與x逐一比較,如果大于x,記錄下數(shù)據(jù)的下標(biāo),然后此數(shù)據(jù)下標(biāo)和其后的數(shù)據(jù)的下標(biāo)都加一,相當(dāng)于都向后挪一位,然后將x賦值給數(shù)組的那個下標(biāo)。
#includestdio.h
int main()
int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;
printf("插入前數(shù)組的數(shù)據(jù)是:") ;
for(i=0;i10;i++)
printf("%4d",a[i] ) ;
printf("\n") ;
printf("請輸入要插入的數(shù)據(jù):") ;
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("插入后數(shù)組的數(shù)據(jù)是:") ;
for(i=0; i11; i++)
printf("%4d",[i] ) ;
return 0;
擴展資料:
數(shù)組的使用規(guī)則:
1.可以只給部分元素賦初值。當(dāng){ }中值的個數(shù)少于元素個數(shù)時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而后5個元素自動賦0值。
2.只能給元素逐個賦值,不能給數(shù)組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;(請注意:在C、C#語言中是這樣,但并非在所有涉及數(shù)組的地方都這樣,數(shù)據(jù)庫是從1開始。)
3.如不給可初始化的數(shù)組賦初值,則全部元素均為0值。
4.如給全部元素賦值,則在數(shù)組說明中, 可以不給出數(shù)組元素的個數(shù)。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態(tài)賦值可以在程序執(zhí)行過程中,對數(shù)組作動態(tài)賦值。這時可用循環(huán)語句配合scanf函數(shù)逐個對數(shù)組元素賦值。
參考資料:
百度百科-數(shù)組
插入元素必須需要數(shù)組元素要比元素個數(shù)多,給出如下例:
#include?iostream
using?namespace?std;
int?main()
{
int?arr[100];//聲明數(shù)組;
int?n;
cout"請輸入元素的個數(shù):";
cinn;//有多少個數(shù)組元素
cout"請輸入元素:";
for(int?i=0;in;i++)
{
cinarr[i];
}
sort(arr,arr+n);//對數(shù)組進行從小到大排序
cout"請輸入要插入的元素"endl;
cinarr[n];
sort(arr,arr+n+1);//對插入的元素進行從小到大排序
cout"排序后的元素:";
for(int?i=0;in;i++)
{
coutarr[i]"?";
}
coutarr[n]endl;
return?0;
}
可以通過循環(huán)遍歷數(shù)組中的每個元素,并進行累加。
累加的結(jié)果可以保存在變量中,需要注意,要保證變量足夠保存累加結(jié)果,不會出現(xiàn)溢出。
參數(shù)為整型數(shù)組a,長度為l,對其元素實現(xiàn)累加并返回結(jié)果的函數(shù)可以寫作
int?sum(int?*a,?int?l)
{
int?r?=?0;?//?存儲累加結(jié)果。
int?i;
for(i?=?0;?i??l;?i?++)//遍歷a
r?+=?a[i];//累加元素。
return?r;//返回結(jié)果。
}
void??insert(?int?a[?],?int??n,?int??number?)
{
for?(int?i=0;in;i++)
{
if?(a[i]number)
continue;
else?
{
for?(int?j=n;ji;j--)
{
a[j]=a[j-1];
}
a[i]=number;
break;
}
}
if?(i==n)
a[i]=number;
}
標(biāo)題名稱:C語言數(shù)組添加元素的函數(shù),c語言怎么往數(shù)組里加元素
鏈接分享:http://vcdvsql.cn/article46/hecgeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App開發(fā)、Google、ChatGPT、、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)