1樓:網友
void main()
int p,w,d,f,s;
scanf("%d%d%d",&p,&w,&s);
if(s<250)
d=0;if(s>=250&&s<1000)d=;
if(s>=1000&&s<2000)
d=;if(s>=2000&&s<3000)
d=;if(s>=3000)
d=;f=p*w*s*(1-d);
printf("f=%d",f);
printf("%d%d%d",p,w,s);
看看你的問題在哪兒。
2樓:網友
#include
int main()
float p,w,s,d,f;
printf("輸入運費p貨重w路程s");
scanf("%d%d%d",&p,&w,&s);
if(s<250)d=0;
if(s>=250&&s<1000)d=;
if(s>=1000&&s<2000)d=;
if(s>=2000&&s<3000)d=;
if(s>=3000)d=;
f=p*w*s*(1-d);
printf("f=%.2f",f);
這樣就可以了。你的錯誤還真多啊。定義d為int型,不可以為小數的。
你把f=p*w*s*(1-d);放到上面了,這時d的值沒有確定,無法計算的。
printf("輸入運費p=%d,貨重w=%d,路程s=%d",p,w,s); 輸出當輸入了吧。這樣編譯是過不去的。
printf("輸入運費p,貨重w,路程s");這樣就ok了。還有問題麼?
3樓:文靜婷留
你將「f=p*w*s*(1-d);」放在if語句後面。
4樓:網友
你定義的d是整型的。
你對d賦的是整數嗎?還有f.
c語言裡定義的百分數?
沒有吧。
這個c語言判斷**錯了
5樓:小政
運算時會對資料進行強制型別轉換 如果你求的參量是int型 輸出的資料強制轉化成int型,不需要先轉換。
6樓:匿名使用者
系統自動轉換,不需要人工干預。
大神,c語言,謝謝,看看**錯了,幫忙改一下
7樓:景靈風
行,blq1和blq2函式宣告中,只有乙個形參,到了49,66行,函式實現中卻有2個形參,這樣是矛盾的。
解決方案:刪除函式宣告,把函式定義部分挪到**頂部,即函式定義在呼叫之前;
函式定義嚴格按照函式宣告來。
另外,你的blq1函式中,字串說『第十輪』也是錯誤的,只有i=10的時候才是第十輪,你的**表示的是得分10的時候就是第十輪。
還有,你的陣列x定位了11行4列,那麼行序列是0-10,列序列是0-3,你在blq1中讓n=11,然後引用x[n],必然導致陣列越界。
8樓:萢萢
直接發**,幫你除錯看看。
9樓:網友
13,14行,你的函式有兩個形參,呼叫時不匹配。
c語言新手問題,求解答,C語言一個新手問題,求解答
pnum count 是doulbe 型別,改為 pnum count 才是double。還有scanf lf pnum count 改為scanf lf pnum count 一個c語言程式問題求解答是求什麼的什麼意思?13在ascii中代表 歸位鍵 27在ascii中代表 esc鍵 只要不輸入以...
新手如何學好c語言?怎樣才能學好C語言
1 學好c語言,你可以很好地應付任何一種程式設計工具。2 一定要多上機練習,通過程式瞭解相關知識。幾經反覆方得正果。3 不要把學習c語言當成一種任務,更不要把它看成很難完成的任務。要充滿自信,只要是一個智力正常的人都能學好c語言。始終保持遊戲的心態,多發現其中的樂趣。當感到程式設計趣味無窮,那你在電...
C語言新手問題,求解答
其實沒區別,都是表示自減一也就是a a 1 唯一區別是在邏輯比較中 a是先運算再比較,a 是先比較再運算 你的 a單獨的一條語句,寫在前面跟後面是一樣的效果但是在運算中就不一樣了,比如 int a 2 int b a printf a d,b d a,b 結果是a 1,b 2 這裡的意思是,a先運算...