C语言程序运行不了,哪位大神帮忙解个惑呀?

大哥大姐,打扰一下,C语言程序运行不了,哪位大神帮忙解个惑呀??

#include <stdio.h>
#include <math.h>
void mian()
{
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("wirte a number:\n");
do
{
scanf("%d",&n);
getchar();
}while(n<a[0]||n<a[9]);
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);
}
}
编译没报错呀,,到运行时候报错了。
报错类型:
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/21102601.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
最新回答
尛步格调ゝ

2024-11-27 14:06:22

你的二分法查找的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);

 }

}

紫竹語嫣

2024-11-27 18:04:17

创建工程时创建的不是cmd程序

IDE直接打开.c文件,使用默认参数创建cmd程序编译

雨映燕帘

2024-11-27 12:29:55

这个c语言程序函数入口没有,主要问题是main函数拼写错误。