问题描述:
在程序编辑区编写程序,程序功能如下:将10个整数存入数组,删除数组中的某个元素。 例如,数组中有1,2,3,4,5,6,7,8,9,10共10个元素,删除第5个元素后,数组中剩下9个元素1,2,3,4,6,7,8,9,10。 程序中有两处错误,错误都在提示行: /found/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构!
需要改错代码:
```c
#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;
}
```
程序修改完成,如下所示,有问题可以私聊
#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-1]= a[i];
a[9]=0;
/***********found***********/
for(i=0;i<10;i++)
printf("%d ", a[i]);
return 0;
}