程序执行结果分析c++.*

 定义一个20个元素的一维数组,赋值10以内的随机数,然后删除下标是奇数并且数值为5的元素,然后输出删除数据后的数组。

供参考:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 20
int main()
{
    int a[N] = { 0 }, i, j;
    srand((unsigned int)time(NULL));
    for (i = 0; i < N; i++) { //生成和输出数组
        a[i] = rand() % 10 + 1;
        printf("%3d ", a[i]);
    }
    printf("\n");
    for (i = 0, j = 0; i < N; i++) {
        if (i % 2 == 1 && a[i] == 5) //删除下标是奇数并且数值为5的元素
            continue;
        else
            a[j++] = a[i];
    }
    printf("删除后的数组:\n");
    for (i = 0; i < j; i++)
        printf("%3d", a[i]);
    printf("\n");
    return 0;
}


int main()

{   int a[N],b[N/2],i;

    srand((unsigned)time(NULL));

    for (i=0;i<N;i++){

        a[i]=rand() % 10;

        printf("%d %d\n",i,a[i]);

    }

    for (i=0;i<N/2;i++){

        b[i]=a[i*2];

        printf("%d %d\n",i,b[i]);

    }

    

    return 0;

}

如有帮助望采纳
思路如下

int 【20】 a 创建一个长度为20 的数组
int [10] b 创建一个长度为10 的保存删除奇数后的数组 即为 下标为偶数的数组
int length=0 给偶数数组现有数据长度设定初始值
for(int i=0;i<a.length;i++){
赋值10以内随机数
a[i]=random()*10
if(i%2==0){
如果下标能被2整除即为偶数
加入b数组
b[length]=a[i]
lenght++
}