⑴ c语言程序运行不了,哪位大神帮忙解个惑呀
你的二分法查找的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: ");
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 ",mid);
}else{
printf("NO no %d ",n);
}
}
⑵ 为什么C语言程序编译正确但不能执行
因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while(m%n!=0),循环结束后最小公约数时n。
⑶ 我的c语言程序为什么会执行不了
程序语法上没有问题。如果你的编译器不支持汉字编码,则用 英文 ASCII 字符为好。
另外,注意输入数据 的 格式,格式不对会执行不了。
假定用英文:
#include <stdio.h>
int main(void)
{
char cType=0,dType=0;
float amount=0,rate=0;
printf("input c f c\n");
scanf("%c %f %c",&cType,&amount,&dType);
switch(dType)
{ case '1': rate = 1.5; break;
case '2': rate = 2; break;
case '3': rate = 3; break;
case '4': rate = 3.2; break;
case '5': rate = 3.5; break;
default: printf("no such dType\n"); return -1;
}
if(cType=='V') rate = rate *1.1;
if(amount>=100000) rate = rate *1.2;
printf("rate:%.2f%%\n",rate);
return 0;
}
输入: V 12345 3
输出: rate:3.30%
输入: 3 12345 3
输出: rate:3.00%
⑷ c语言程序无法运行
编译选项里找找,必须编译成release版本才能在其他机器运行。只有release版本对应的dll才是随windows一起发布的,调试版不会随windows发布
⑸ C语言为什么没错误还执行不了
c语言的错误分为两种,一种是运行时错误,一种是逻辑上的错误。逻辑上的错误不好判断,执行不了肯定是出现逻辑上的错误的。
⑹ 在c语言程序中if-else语句的else语句总是不执行是怎么回事
1、新建一个工程和文件,命名为Third和first.c , 然后书写好程序的模板结构。