哥们儿,姐们儿,代买部分因空格原因无法复制粘贴,但是希望你能看看注释理解之后,一定一定一定不看代码自己敲出来,如果能给我一个小小的赞就更好啦~谢谢你~
代码及注释如下:
#include
void del(int a[],int n,int j);
void PrintArr(int a[],int n);
int main()
{
int n,i,j,a[10]={0};
scanf("%d",&n);
if(n==1) //当n等于1时,删除元素后不输出,不要输出空格或者回车
return 0;
else
for(i=0;i {
scanf("%d",&a[i]);
}
scanf("%d",&j); // 输入删除的元素的下角标
del(a,n,j);
PrintArr(a,n);
return 0;
}
void del(int a[],int n,int j)
{
int i;
for(i=0;i {
if(i==j) //删除元素的方法,从删除的元素开始,让每个的后一个元素赋值给前一个元素
{
for(j;j {
a[j]=a[j+1];
}
break; // 这里需要跳出循环,否则非删除的元素会发生变化
}
}
}
void PrintArr(int a[], int n)
{
int i;
for (i=0;i< n-1;i++) // 注意这里元素删除了一个,所以到n-1即可
{
printf("%d ",a[i]);
}
}