⑴ 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 , 然後書寫好程序的模板結構。