孙楠拯救歌曲歌词:从已排好序的数组中,查找一个数?

来源:百度文库 编辑:高考问答 时间:2024/05/09 06:32:52
从已排好序的数组中,查找一个数,如果有就删除该数,要求删除后的数组仍然保持有序,如果没有输出提示。
#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5},i,b;
scanf("%d",&b);
for(i=0;i<5;i++)
{if(a[i]==b)
{a[i-1]=b;
break;}
else
printf("数组中没有这个数");
break;}
for(i=0;i<5;i++)
printf("%d",a[i]);
}
那里的问题?怎么输出找不到呢

#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5},i,b;
int j=999;

scanf("%d",&b);

for(i=0;i<5;i++) if(a[i]==b) j=i;
if (j == 999){
printf("数组中没有这个数");
exit(0);
}

for(i=0;i<5;i++)
{ if(a[i]==b) for (j=i;j<4;j++) a[j]=a[j+1];
}
for(i=0;i<4;i++) printf("%d ",a[i]);

}

#include<stdio.h>
void main()
{
int i,j,n,a[100],b;
printf("输入数组元素的个数:(0<n<100) ");
scanf("%d",&n);
printf("输入数组元素,按一定大小输入!");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("输入要查找的数: ");
scanf("%d",&b);
j=n;
for(i=0;i<j;i++)
{
if(a[i]==b)
{
if(i!=j-1)
a[i]=a[i+1];
j--;
}
}
if(j==n)
printf("无此数!");
else
for(i=0;i<j;i++)
printf("%d",a[i]);
}

已经运行通过,根据提示输入....