1樓:
有一個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到陣列中
<5;i++) if(x2.j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。
比當前數大時繼續下一個(小應當在左側,大則在右側) */
3.break; for(i=5;i>=j;i--)
a[i+1]=a[i]; /*將位置j以後的資料都向後移一位*/ a[i+1]=x; /*
4. 把要插入的數x放到a[i]中,因為i--後 i 比實際要插入的位置少1,所以真正插入的位置應該i+1*/
5.for(i=0;i<=5;i++) /*這時一共有6個數* printf("%d ",a[i]);
2樓:
你可以先定義一個陣列和一個變數,然後把這個變數寫入陣列,比如int x,i,a[10];
for(i=0;i<=9;i++)
a[i]=x;
這樣程式執行後,陣列a[10]的內容依次插入了裡面。
3樓:我行我素
#include
void main()
;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]=num;
printf("插入之後的陣列:\n");
for (i=0;i<10;i++)
printf("\n");}
在c語言中,如何在陣列中插入一個數
4樓:匿名使用者
方法為:輸入一個資料x,將陣列中的資料與x逐一比較,如果大於x,記錄下資料的下標,然後此資料下標和其後的資料的下標都加一,相當於都向後挪一位,然後將x賦值給陣列的那個下標。
#include
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("\n") ;
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;
5樓:理暄妍果揚
程式1:這個是輸入10個數
先排序再插入一個數
再排序陣列
大小你可以自己更改
#include
void
main()
for(i=0;i<10;i++)
printf("%d
",a[i]);
scanf("%d",&m);
for(i=0;i<10;i++)
if(a[i]>m)
a[10]=m;
for(i=0;i<11;i++)
printf("%d
",a[i]);
printf("\n");
}程式2:如果題中已給排好序的陣列
不必自己輸入的話
#include
void
main()
;int
temp1,
temp2,number,end,i,j;
printf("array
a:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("insert
date:");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
break;}}
}printf("now,array
a:\n");
for(i=0;i<11;i++)
printf("%d
",a[i]);}
6樓:傑遜漂流記
有一個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到陣列中<5;i++) if(x2.
j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。……
7樓:招鵬鯨清可
#include"stdio.h"
#include"string.h"
void
main()
;//////////這裡定義陣列的時候,要寫上11,否則會認為該陣列只有10個元素,那樣的話,無法對其進行插入的。其他地方沒有錯誤
inti,j,temp,n;
for(i=0;i<10;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
printf("按從小到大的排列順序為:\n");
for(i=0;i<10;i++)
printf("%d
",a[i]);
printf("請輸入你想插入陣列的數字:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(n
=i;j--)
a[j+1]=a[j];
break;
}a[i]=n;
for(i=0;i<11;i++)
printf("%d
",a[i]);
printf("\n");}
8樓:匿名使用者
樓主能說具體點嗎。有很多方法,比如用字串連線的函式,strc...什麼什麼的函式,還可以直接插入一個數,和陣列中的數比較大小
9樓:匿名使用者
比如在第n個數中插入一個m
C語言字元陣列與字串問題,C語言中將字串賦值給字元陣列的問題
渿河 這是在定義時初始化 如果你的右邊花括號內的字元個數少於 陣列元素個數 那麼其餘的陣列元素將會初始化為0 0 的ascii碼的值就是0 如果你不指定陣列元素個數 編譯器會自動幫你計算出元素個數的 char c 10 這個是已經給定了陣列的大小,達不到陣列大小的長度的話會自動添零的 c語言中將字串...
C語言,結構體中的陣列怎麼賦值,C語言中結構體中的陣列,不能直接賦值嗎
1 用字元常量逐個初始化陣列。例如 char a 8 把8個字元依次分別賦給c 0 c 7 這8個元素。如果在定義字元陣列時不進行初始化,則陣列中各元素的值是不可預料的。如果花括號中提供的初值個數 即字元個數 大於陣列長度,則出現語法錯誤。如果初值個數小於陣列長度,則只將這些字元賦給陣列中前面那些元...
C語言,下面程式中語句的意思,C語言中flag是什麼意思?下面程式中flag是什麼意思?
風若遠去何人留 在每次賦值及取值時不使用cache中的值,而是都去實體記憶體中獲取 volatile 該值在程式中為常量 const 所以該值的改變,將由外部程式或硬體完成.其他幾個類似.只不過段不同,初始化值不同.語句含義是類似的.c語言中flag是什麼意思?下面程式中flag是什麼意思? 自我程...