因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while(m%n!=0),慧基循环结束后最小公约数时n。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良正裤好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一举碧简些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
你的二分法查找的C语言程序有两租念处问题,我帮你改弊颂困好了(改樱型动的地方见注释)
#include <stdio.h>
#include <math.h>
void main(){//这里把mian改成main
int a[10]={0,1,6,16,23,56,80,100,110,115}
int low,high,mid,found,n
low=0
high=9
found=0
printf("write a number:\n")
do{
scanf("%d",&n)
getchar()
}while(n<a[0]||a[9]<n)//这里把n小于a[9]改成a[9]小于n
while(low <= high){
mid=(low+high)/2
if(n==a[mid]){
found=1
break
}else if(a[mid]>n)
high=mid-1
else
low=mid+1
}
if(found==1){
printf("this number bit is %d\n",mid)
}else{
printf("NO no %d\n",n)
}
}
打开vc6,新建空白的console工程后,耐雹应新建.c或.cpp文件册孝写可执行代码。你在.h文件里写代码,是不是弄错了呢。写好后要先编译再运行。如果所昌姿帆有步骤都是正确的,还无法执行,那有可能是设置问题。
正常的设置如下(注意路径可能不同):
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)