0

我在下面制作了这段代码:

#include <stdio.h>
#include <stdlib.h>

main()
{
    int n, i, v[1000];
    printf("Type the size of the vector: ");
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        printf("Type a number: ");
        scanf("%d", &v[i]);
    }
    for(i=0;i<n;i++){
        printf ("%d ", v[i]);
    }
    system ("pause");
    return 0;
}

它正在工作,但我现在需要做的是将另一个数字放在这个向量的中间。因此,如果您在其上放置 4 个数字,例如 1、2、3 和 4,我需要在中间放置另一个数字,例如1、2、9、3 和 4。有谁知道这是怎么做到的吗?

4

2 回答 2

3
int k;

k = n / 2;

for (i = n; i > k; --i)
   v[i] = v[i - 1];
v[k] = insertionValue;
于 2013-01-07T08:23:51.820 回答
0

你必须重新分配你的向量,将中间 1 之后的所有值向右移动,然后将你想要的值分配给中间。

于 2013-01-07T08:21:54.610 回答