定义一个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++
}