依照题目修改下列程序:在程序编辑区编写程序,程序功能如下:将10个整数存入数组,删除数组中的某个元素。 例如,数组中有1,2,3,4,5,6,7,8,9,10共10个元素,删除第5个元素后,数组中剩下9个元素1,2,3,4,6,7,8,9,10。 程序中有两处错误,错误都在提示行: /found/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构!#include <stdio.h> int main(void) { int a[10],i,num; for(i=0;i<10;i++) scanf("%d",&a[i]); scanf("%d",&num); /*输入要删除的元素序号*/ for(i=num;i<10;i++) /***********found***********/ a[i]= a[i+1]; a[9]=0; /***********found***********/ for(i=0;i<10;i++) printf("%d ", a[i]); return 0; }
时间: 2023-07-23 12:28:49 浏览: 147
从数组中删除一个元素
4星 · 用户满意度95%
修改后的程序如下:
```
#include <stdio.h>
int main(void) {
int a[10], i, num;
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
scanf("%d", &num); /*输入要删除的元素序号*/
for (i = num - 1; i < 9; i++) /***********found***********/
{
a[i] = a[i + 1];
}
a[9] = 0; /***********found***********/
for (i = 0; i < 9; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
修改说明:
1. 在第一次循环中,读入了10个整数并存入数组a中;
2. 读入要删除的元素序号num;
3. 在第二次循环中,从num-1的位置开始,将后面的元素向前移动一位;
4. 将数组a的最后一个元素赋值为0,实现删除操作;
5. 在最后一次循环中,输出数组a中剩余的9个元素。
阅读全文