用C语言编写已知一个排好序的数组,删除一个数使数组仍然有序。(要程序不要方法)

如题所述

#include <stdio.h>
int main()
{
int v[10] = {0,1,2,3,4,5,6,7,8,9};
int i,p,n = 10;
printf("删除前:");
for(i = 0; i < n; ++i)
printf("%3d",v[i]);
printf("\n");


do{
printf("输入要删除的数据下标(0 - %d):",n);
scanf("%d",&p);
if(p >= 0 && p < n){
n--;
if(n <= 0)break;
for( i = p; i < n; ++i)
v[i] = v[i + 1];

printf("删除后:");
for(i = 0; i < n; ++i)
printf("%3d",v[i]);
printf("\n");

}else{
break;
}

}while(1);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-03
#include <stdio.h>
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int temp;
printf("显示数组:\n");
for (int i=0;i!=10;++i)
{
printf("%d ",a[i]);
}
printf("\n");
printf("请输入要删除的数字:\n");
scanf("%d",&temp);
for (i=0;i!=10;++i)
{
if (a[i]==temp)
{
int j=i;
do
{
a[j]=a[j+1];
j++;
} while (j!=10);
break;
}
}
if (i==10)
{
printf("你输入的数据在数组中不存在!\n");
}
else
{
printf("显示数组:\n");
for (i=0;i!=9;++i)
{
printf("%d ",a[i]);
}
printf("\n");
}
}本回答被提问者采纳
相似回答