题目如下
代码如下
1 #define _CRT_SECURE_NO_WARNINGGS 1 2 #include<stdio.h> 3 int main() 4 { 5 int a[11] = { 1, 4, 6, 9, 13, 16, 19, 28, 40, 100 }; 6 int temp_1, temp_2, number, end, i, j; 7 puts("请输入要插入的整数:\n"); 8 scanf_s("%d", &number); 9 end = a[9]; 10 if (number >= end)//这种情况不需要移动位置,所以要首先排除 11 { 12 a[10] = number; 13 } 14 else 15 { 16 for (i = 0; i < 10; i++) 17 { 18 if (a[i] > number)//碰上更大的就要停下来(同时也意味着他比前一个大) 19 { 20 temp_1 = a[i]; 21 a[i] = number;//把大数位置取代掉并同时保留大数在后面用 22 for (j = i + 1; j < 11; j++)//关键部分 23 { 24 temp_2 = a[j]; 25 a[j] = temp_1; 26 temp_1 = temp_2; 27 } 28 break; 29 } 30 } 31 } 32 for (i = 0; i < 11; i++) 33 { 34 printf("%4d", a[i]); 35 } 36 return 0; 37 }
结果如下