C语言 已知一个整型数组的数按从小到大排列,去除数组中的重复数 并输出,我不知道我这个哪里错了就是输出不了什么东西
//稍稍改了一点
#include
int main()
{
int a[15]={15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
int l=0,h=14,x,m;
printf("输入数字:");
scanf("%d",&x);
while(l<h)
{
m=(l+h)/2;
if(x==a[m]) break;
if(x>a[m])
h=m;
else
l=m;
if ((l==h) && x!=a[h]) {
printf("无此数");
return 0;
}
}
printf("是第%d个元素",m+1);
return 0;
}追问
#include
int main()
{
int a[15]={15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
int l=0,h=14,x,m;
printf("输入数字:");
scanf("%d",&x);
while(l<h)
{
m=(l+h)/2;
if(x==a[m]) break;
if(x>a[m])
h=m;
else
l=m;
if ((l==h) && x!=a[h]) {
printf("无此数");
return 0;
}
}
printf("是第%d个元素",m+1);
return 0;
}追问
你这个算法和我的太不一样了,,
我其实就是想知道我哪里错了
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-10-31
不清晰啊追问
这样行吗
追答提示哪里错了
追问提示没错
就是输出不了东西
追答我试一下
有输出啊
你输入的时候每输入一个数打一下空格
追问我打了啊,,
你得输满10个数
一维数组有10个元素
追问跟我想要的结果不一样啊
😓😓
追答我的是这个
追问这个我也能输出来
但是有重复的就删不掉
追答没错啊
追问你的重复能删掉??
输出吗
追答对呗,输不出来我想要的