判断一个数是否在数列中:main(){int a[9]={1,3,5,7,9,11,13,15,17},i,n=9,number;printf("请输入一个数:\n");scanf("%d",&number);if(numbera[9])printf("%d不在数列中.");for(i=0;ia[n]){i=i+n;n=9;}}}这个程序只有输入5才会输出

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 18:27:00
判断一个数是否在数列中:main(){int a[9]={1,3,5,7,9,11,13,15,17},i,n=9,number;printf(

判断一个数是否在数列中:main(){int a[9]={1,3,5,7,9,11,13,15,17},i,n=9,number;printf("请输入一个数:\n");scanf("%d",&number);if(numbera[9])printf("%d不在数列中.");for(i=0;ia[n]){i=i+n;n=9;}}}这个程序只有输入5才会输出
判断一个数是否在数列中:
main()
{
int a[9]={1,3,5,7,9,11,13,15,17},i,n=9,number;
printf("请输入一个数:\n");
scanf("%d",&number);
if(numbera[9])
printf("%d不在数列中.");
for(i=0;ia[n])
{i=i+n;
n=9;}
}
}
这个程序只有输入5才会输出.请大侠们改一下错,
我想练习二分法,能不能把正确的算法解释一下.最好做好程序.

判断一个数是否在数列中:main(){int a[9]={1,3,5,7,9,11,13,15,17},i,n=9,number;printf("请输入一个数:\n");scanf("%d",&number);if(numbera[9])printf("%d不在数列中.");for(i=0;ia[n]){i=i+n;n=9;}}}这个程序只有输入5才会输出
你的算法有问题
根据你写的改了一下,要注意n不能是9,a[9]下标越界了!请对比一下你写的,要注意一些小毛病!
main()
{
int a[9]={1,3,5,7,9,11,13,15,17},m=0,n=8,number;
printf("请输入一个数:\n");
scanf("%d",&number);
if(numbera[9]){
printf("%d不在数列中.",number);
}else{
while(1){
if(ma[n]){
m=n+1;
n=2*n;
}
}else{
printf("%d不在数列中.",number);
break;
}
}
}
}