题目如图
第一种方法是新定义一个数组为C[(n-1)],用来存储第k个元素删除的数组
//第一种方法
#include<stdio.h>
int main()
{
int n,k,i;
scanf("%d %d",&n, &k);
int a[n],c[(n-1)];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<k;i++){//输出到第k-1的元素
c[i]=a[i];
}
for(i=k;i<n;i++){//从第k+1的元素输出到最后一个
c[i]=a[i+1];
}
for(i=0;i<(n-1);i++)
printf("%d ",c[i]);//相当于将k忽略,将上面两个数组连接一起输出
return 0;
}
第二种方法是依次输出a[n]数组的元素,到第k的元素时跳过不输出。
//第二种方法
#include<stdio.h>
int main()
{
int n,k,i;
scanf("%d %d",&n, &k);
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++){
if(i==k)continue;
else printf("%d ",a[i]);}//依次输出数组a[i]中的元素,到第k个元素时跳过
return 0;
}
这个方法类似于之前的删除字符串中小写字母