1樓:匿名使用者
a,b,c應該為double a,b,c;因為輸入時用%f輸入了。
area 應為float,因為%f輸出的是浮點型,所以應該將 area 定義為 float,而不是int。
s改為float或者double都可以。如果s是 int 型的話,那麼s=(a+b+c)/2得到的結果是一個不精確整數,比如a=3,b=4,c=4;s應該為5.5,但由於s是int 型的,結果會是5,所以說s應改為float或double。
建議改為double,應為double的精度高於float的精度
下面是修改後的程式:
#include
#include
void main()
再補充一點吧,int對應的是%d ,float 對於的是%f, double對應的是 %lf, long對應的是%ld 。這些都是比較常用的資料型別。
2樓:
//程式沒有太大的問題,改過兩處,輸入資料時注意用逗號分隔。如:12,18
#include
void main()
//這行完全可以不要的!!!
x=m;y=n;i=x%y;//改過改過改過改過改過改過改過while(i!=0)
//改過改過改過改過改過改過改過
printf("gongys%d\n",y);
printf("gongbs%d\n",m*n/y);}
3樓:匿名使用者
1.i未賦初始值,就在while(i!=0)中使用了。
2.如果輸入的m值為0,就會出現除0錯誤了。
3.如果x不為0,那while(i!=0)不是死迴圈了?
4樓:匿名使用者
你這是邏輯錯,而且你的排版也不好看,我給你重新編了一個#include
int main(void)
p=n*m;
while(m!=0)
printf("最大公約數是%d\n最小公倍數是%d\n",n,p/n);}
5樓:匿名使用者
while(i<=1)
一道c語言 在vc6.0裡提示錯誤,請問錯誤在**.
6樓:匿名使用者
printf(%d ",a[i]);
改為:printf("%d ",a[i]);
掉了一個雙引號
因為陣列不能直接整體輸出,只能通過迴圈還依次輸出各個元素
7樓:無病呻吟
printf(%d ",a[i]);應該是printf(「%d ",a[i]);吧,少了個雙引號
8樓:匿名使用者
最後一句(後加個引號。可以直接用printf,但要改成下面的形式。
#include
int main()}
9樓:宮恨秋
在那個錯誤狀態列上 雙擊那個錯誤 即可定位
c語言在vc6.0中執行正確,結果怎麼檢視
10樓:匿名使用者
編譯時用ctrl+f5試試,應該有按任意鍵繼續
要不就在最後加一個system("pause");試試
11樓:匿名使用者
#include
main主程式的最後加上scanf("%d");
可能會提示有問題、但是編譯通過..
用C語言編的鏈棧在執行時出錯
include include typedef struct node lstack void init lstack s int push lstack s,int e int pop lstack s p s next e p date s next p next printf 出戰成功 n f...
C語言問題為啥會出錯,c語言執行出錯什麼原因
陽光的雷咩咩 printf d z 璐人釔 printf d z 這樣 c語言執行出錯什麼原因 歡樂多 for i 0,sum 0 i 10 i,sum i 另外main 打錯了 編譯沒有錯是因為你寫的mian函式的語句符合c規範,而連結有錯誤是因為c必須有一個入口函式或叫主函式main 而你這裡卻...
c語言錯誤問題,c語言執行出錯什麼原因
xzx.c 6 error c2143 syntax error missing before type xzx.c 7 error c2065 p undeclared identifier xzx.c 7 warning c4047 int differs in levels of indire...