#include
int main()
{
int a[999],j,i=666,k=66;
for(j=0;j++;j<999)
scanf("%d",a[j]); //输入数
fun(*a,j,i,k); //调用fun函数
for(j=0;j++;j<(j-k)) //打印剩余的数
printf("%4d",a[j]);
}
void fun(int a[] ,int j, int i, int k )
{
for(;i++;i+k
}
fun函数的作用就是删除k个数,999,666,66是我随便定的数,你可以改
int list[]=new int[n];
for(int x=i;x<(i+k);x++)
list[x]=NULL;
可能我的程序中的下标比较乱,因为我程序中的数组下标是从0开始的。
如果有不会的依然可以问我
#include
#include
#include
#include
///函数delet 参数的含义:删除的是数组a中的元素,数组a一共有n个元素
///删除数组a中从i开始的k个元素
void delet(int *a, int n, int i, int k)
{
int j;
for(j=i-1; j{
a[j] = a[j+k];
}
}
int main()
{
int a[100], i, n, k;
printf("please enter numbers:\n");
i=0;
while(scanf("%d", &a[i])==1)
{
i++;
}
n = i;///n表示一共有多少个元素
printf("please enter i and k:");
while(1)///判断删除的元素是否在数组内
{
scanf("%d %d", &i, &k);
if(i+k-1else printf("your enter is wrong, please enter again\n");
}
delet(a, n, i, k);
for(i=0; i{
printf("%d ", a[i]);
}
}
bool delete( array,int i,int j)
{
if(i+j > array.Length)
return false;
for(int k=i+j-1;k
array.Length--;
return true;
}