设计一个算法从顺序表中删除具有给定值x的所有元素

2024-12-26 03:52:01
推荐回答(1个)
回答1:

如果满意请采纳,谢谢!!!


数组越界了N是10,那么数组的下标是从0-9而你的是1-10明显越界

下面替你改了一些细节,希望对你有好处

#include 
#define N 5
int main()
{
int a[N];
int i,j,k;
for(i=0;i {
scanf("%d",&a[i]);
}
printf("打印该顺序表\n");
for(i=0;i {
printf("%5d",a[i]);
}
printf("\n");

for (i=0;i for(j=i+1;j if(a[j]>=a[i])
{
k = a[j];
a[j] = a[i]; 
a[i] = k;
}
printf("打印排序后的顺序表\n");
for(i=0; i < N;i++)
{
printf("%5d",a[i]);
}
printf("\n");
return 0;
}

我把N设为5比较好调试,你也可以改为10,那就得输入10个整数,下图是调试结果