关于一段 C语言程序的求教,如何求一个数在一个数组中的位置?我不懂 C。。。

如果有一个数组 a[10]={1,2,3,4,5,6,7,8,9,10},对于输入一个值b,如果b的值在1,2之间则输出1的位置、若在2,3之间则输出2的位置、以此类推。。。多谢!

你确定是输出位置吗?位置是个内存地址。是的话,追问一下。我帮你写。追问

只是在数组中的位置就OK.

追答

#include
int main(void)
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
printf("input a number:");
int i,x;
scanf("%d",&x);
for(i=0;i=a[i]&&x<=a[i+1])printf("%d",i);
}
}
写个简单的
输入不能输入错误
没有容错的语句
输入正确可以输出结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-20
你的数组是递增的吗??如果不是会出现以下情形:

如果数组是{1,3,2,4,3,5}

当B为2.5时,怎么办 它即在1到3间 这样是输出1,也在3与2之间,这样输出3。追问

放心 顺序是排好的。

第2个回答  2011-11-20
看看这个程序,符合你的要求哦
#include<stdio.h>
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i;
double b;
for(i=0;i<9;i++)
{
printf("%d ",a[i]); //输出数组a[10]

}
scanf("%d",&b); //输入b
for(i=0;i<10;i++)
{
if(b<a[i+1]&&b>=a[i]) //b与数组中a[i]和a[i+1]比较,在其之间则输出a[i]的号码i
printf("%d\n",i);

}

}追问

你这个程序怎么看不到结果哦。。。呵

追答

你要输入数字啊,比如说输入:1.5
就会输出1

第3个回答  2011-11-20
数组的下标是从0开始的
你可以用foreach循环;

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网