这题变相考察了插入排序 #include <stdio.h> int main() { int a; while (scanf("%d ", &a) != EOF) { int s[a+1]; for(int i = 0;i<a;i++) { scanf("%d",&s[i]); } int k; scanf("%d",&k); int end = a-1; while(end>=0)//插入排序的核心步骤 { if(k<s[end]) { s[end+1]=s[end]; end--; } else break; } s[end+1]=k; for(int f = 0;f<a+1;f++) { printf("%d ",s[f]); } } return 0; }