#includeint main() { int n, i, k, j, m; while (scanf("%d", &n) != EOF) { int a[21]; for (i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &m); scanf("%d", &k); for (i = 0; i < n; i++) {//从这里开始 逻辑混乱 if (a[i] > m) { for (j = n; j > i; j--) { a[j] = a[j - 1]; } a[i] = m; } } for (i = 0; i <= n ; i++) { printf("%d", a[i]); if (i != n ) { printf(" "); } } printf("n%dn", a[k]); } return 0; }
改进过了,本地编译没找出漏洞,但oj上一直显示答案错误AC%80.
#includeint main() { int n, i, k, j, m, x; while (scanf("%d", &n) != EOF) { int a[20]; for (i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &m); scanf("%d", &k); for (i = 0; i < n; i++) { if (a[i] > m) { x = i; break; } } for (j = n; j > x; j--) { a[j] = a[j - 1]; } a[x] = m; for (i = 0; i <= n ; i++) { printf("%d", a[i]); if (i != n ) { printf(" "); } } printf("n%d", a[k]); } return 0; }



