所以說答案是:
第壹個填 i-1
第二個填 i++或i+1
最後順便說句,樓主,for循環裏面條件有問題,n+1變量是錯誤,妳要麽在前面定義int n = strlen(a),要麽在這個地方修改為8+1。
修改後並經過測試的代碼如下:
#include<stdio.h>
void main()
{
int i,x,a[20]={2,4,5,7,8,12,13,18};
printf("Input an integer to be inserted x:");
scanf("%d",&x);// 設輸入: x=9;
i=8;
while(x<a[i-1]&&i>0)
{ a[i]=a[i-1]; i--; }
a[i++]=x;
for(i=0;i<9;i++)
printf("%3d",a[i]); printf("\n");
}
//結果為:2,4,5,7,8,9,12,13,18