输入10个元素存入数组中,删除第i个元素后输出,其中,i为下标,由键盘输入。
#include <stdio.h>
int main(void)
{int a[10];
int i,j,m;
scanf("%d",&i);
for (j=i-1;j<10;i++)
{
a[j]=a[j+];
m=i;
}
a[m]='/0';
for (int k=0;k<10;k++)
{
printf("%d",a[k])
}
}
#include <stdio.h>
int main()
{
int a[100],i,n,cnt=10;
for(n=0;n<cnt;n++)
scanf("%d",&a[n];
scanf("%d",&i);
if(i>=0 && i<cnt)
{
for(n=i;n<cnt-1;n++)
a[n] = a[n+1];
cnt--;
}
for(n=0;n<cnt;n++)
printf("%d ",a[n];
return 0;
}
代码如下:
#include <stdio.h>
struct LinkList
{
int arr[20];
int length;
};
//创建链表
void CreateList(struct LinkList *lst)
{
int i,n;
lst->length = 0;
printf("请输入10个元素存入数组中");
for (i=0;i<10;i++)
{
scanf("%d",&n);
lst->arr[lst->length] = n;
lst->length++;
}
}
//从链表中删除元素(i是下标,从0开始)
void DeleteEle(struct LinkList *lst,int i)
{
int j;
if(i>= lst->length)
printf("下标太大,数组中这个位置没有数据");
else
{
for(j = i;j<lst->length -1;j++)
lst->arr[j] = lst->arr[j+1];
lst->length--;//长度减1
}
}
//显示列表
void print(struct LinkList *lst)
{
int i;
printf("链表当前元素为:");
for (i=0;i<lst->length;i++)
{
if(i<lst->length-1)
printf("%d ",lst->arr[i]);
else
printf("%d\n",lst->arr[i]);
}
}
int main()
{
struct LinkList lst;
int i;
CreateList(&lst);
print(&lst);
printf("请输入要删除的元素下标(最小是0):");
scanf("%d",&i);
DeleteEle(&lst,i);
print(&lst);
return 0;
}