<span style="font-size:14px;">#include <stdio.h>
#include <stdlib.h>
#define M 10
#include <time.h>
int main(int argc, const char * argv[])
{
int i;
int j;
int t=0;
int tmp;
int n;
int a[M]={};
srand(time(NULL));
方法一:/* 使用数组来实现</strong>
//使用随机数向数组中添加元素
for (i=0; i<M; i++)
{
a[i]=rand()%100;
printf("%d ",a[i]);
}
printf("\n");
//排序
for (j=0; j<M;j++) {
for(i=0;i<M-1;i++)
{
if(a[i]>a[i+1])
{
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
}
}
//输出排序后的结果
for (i=0; i<M; i++) {
printf("%d ",a[i]);
}
printf("\n");
//删除要删除的数
printf("请输入要删除的数");
scanf("%d",&n);
for(i=0;i<M-t;i++)
{
if(a[i]==n)
{
for(j=i;j<M-1-t;j++)
{
a[j]=a[j+1];
}
t++;
i--;
}
}
//输出删除后的结果
for (i=0; i<M-t; i++) {
printf("%d ",a[i]);
}
*/
<strong> //2.使用指针实现</strong>
for (i=0; i<M; i++)
{
*(a+i)=rand()%100;
printf("%d ",*(a+i));
}
printf("\n");
//排序
for (j=0; j<M;j++) {
for(i=0;i<M-1;i++)
{
if(*(a+i)>*(a+i+1))
{
tmp=*(a+i);
*(a+i)=*(a+i+1);
*(a+i+1)=tmp;
}
}
}
//输出排序后的结果
for (i=0; i<M; i++) {
printf("%d ",*(a+i));
}
printf("\n");
//删除要删除的数
printf("请输入要删除的数");
scanf("%d",&n);
for(i=0;i<M-t;i++)
{
if(*(a+i)==n)
{
for(j=i;j<M-1-t;j++)
{
*(a+j)=*(a+j+1);
}
t++;
i--;
}
}
//输出删除后的结果
for (i=0; i<M-t; i++) {
printf("%d ",*(a+i));
}
return 0;
}
</span>
c语言删除有序数组中的一个数
最新推荐文章于 2022-09-15 14:06:47 发布