c語言企業利潤,為啥不管輸入多少 執行出來都是1W啊

2025-03-26 10:30:31 字數 3063 閱讀 7389

1樓:飛天俠客再世

j=a/100000;這一句是什麼意思? 你把整個題目發來看看啊。

c語言 「企業發放的獎金根據利潤提成」 的問題,我編的怎麼就是不行呢

2樓:匿名使用者

對了哈,他們說得對,因為你是整形乘以小數的時候結果就變成零了,!

3樓:匿名使用者

那個輸出式子是個浮點型的前面你的那個是%ld 要改成%f

4樓:匿名使用者

建議你把long int a;定義成double或float型。

c語言求解,為什麼我的程式執行出來的結果很詭異,利潤哪怕一百,獎金也有一千多萬,汗。。。求大神看看

5樓:網友

scanf("%f",&i);

這句錯了,應該為。

scanf("%d",&i);

int型別用%d,你再試一試就ok了,已經除錯成功。

c語言企業利潤提成問題,這個程式錯在**

6樓:

1、應該用浮點數或double

2、提成應該是分割槽間的,因此最好用if-else語句,case恐怕不能準確表達。

3、最好能將提成規則講一講,程式表達的好像與實際規則不一致。

7樓:網友

把裡面的int全部改成double,%d改成%lf

c語言投資問題,

8樓:網友

#include

void main ()

int i,j,k,m,n,rest,a[100][100],gain[100];

float vi[100],f[100],temp[100];

printf("輸入投資專案的個數:")

scanf("%d",&m);

printf("輸入投資的總資金數(單位萬元):"

scanf("%d",&n);

printf("輸入投資專案的利潤:")

for(j=0;j<=n;j )

scanf("%f",&vi[j]);

f[j]=vi[j];

for(j=0;j<=n;j )

a[1][j]=j;

for(k=2;k<=m;k )

printf("輸入其他投資專案的利潤:")for(j=0;j<=n;j )

temp[j]=vi[j];

scanf("%f",&vi[j]);

a[k][j]=0;

for(j=0;j<=n;j )

for(i=0;i<=j;i )

if(f[j-i] vi[i]>temp[j])temp[j]=f[j-i] vi[i];

a[k][j]=i;

for(j=0;j<=n;j )

f[j]=temp[j];

rest=n;

for (i=m;i>=1;i--)

gain[i]=a[i][rest];

rest=rest-gain[i];

for (i=1;i<=m;i )

printf("第%d 個投資專案的分配資金:- n",i ,gain[i]);

printf("獲得的最大利潤:%.2f",f[n]);

可直接執行,輸入利潤時先輸入0,表示沒有投資專案。望!!

c語言 「企業發放的獎金根據利潤提成」 的問題,我編的怎麼就是不行呢~~

9樓:所源妙

你這題目是程式設計100例的題目,錯了第一演算法錯誤了 if(a<=100000) printf("%ld",(;這對但 這裡錯了 if(a<=200000) printf("%ld",;這裡你獎金算了多出的部分的,那沒多出的部分你沒算啊。其他後面同理不說了, 還有if else太混亂了可以用 if else if else if else if ..這樣條理清晰點程式就不給你寫了,相信你自己有源** 補充:

main() 補充: 不是寫上了錯誤的麼?你 程式邏輯 錯誤了還有多層的if else也混亂了 追問:

很謝謝你啊,這種方法我會了 我只是想知道我的那種方法到底怎麼錯了 而且我的 演算法 實際上是對的啊 我每乙個後面加的……就是沒有超出的部分的獎金啊 還是很謝謝你 追問: 中間的那些 大括號 去掉也沒有用 我試過了 輸出還是0 : 你的if 語句亂了當然沒有正確答案了,你想要不是0的結構很容易啊全部加。

0就行了。

10樓:敖靜曼

程式已除錯好。你的問題出在,整型資料a和浮點型資料相乘時,結果會以浮點型資料存放。你用長整型格式輸出,結果程式就判定出錯,就以0表示輸出。

所以,我把格式輸出改成浮點型輸出了。最後乙個用。2f輸出,沒有表明資料長度,是因為超過了一百萬,就有更大的資料,這樣做會減少錯誤。

#includevoid main() 補充: 我用你編的程式試著執行了一下,結果輸出是0。我上面的對結果為0的解釋是錯的,不好意思。

我也不太清楚是什麼原因。 補充: 我這裡的輸出也是0.

我上面已有修改的方法了,至於結果為什麼是0,應該是 電腦 讀取的問題吧。具體怎麼讀取,我也不大清楚。。

c語言程設計中,關於企業獎金利潤問題,如下

11樓:程式猿3號

printf("獎金是:%.2d",i); //你這裡輸出的還是i,當然一樣了,你應該輸出k吧?

12樓:網友

if語句裡面的條件錯了 <=100000的肯定也<=1000000吧。

13樓:核桃酥特皮

你可以試著用case,while迴圈語句來編寫。

c語言 從鍵盤輸入當月利潤,求應發獎金數。編譯沒,但執行不了,求教

14樓:網友

暑假還認真做題啊!不錯,你的錯誤是犯下了乙個最最簡單低階的錯誤哦!!!

15樓:乾璺

單步調一下,很簡單的。

C語言中的「階乘」怎麼表示,C語言中階乘怎麼輸?

階乘一般自己用遞迴寫一個函式 int fun int n 這兒就只考慮正數的版情況權 c語言中階乘怎麼輸?1 不是直接輸入n!需要一定的演算法才可以實現。具體方法是,首先開啟編輯器,準備好空白的c語言檔案 2 在編輯器中輸入 這裡所謂 n 的階乘,就是從 1 開始乘以比前一個數大 1 的數,一直乘到...

c語言中輸出longlong型資料怎麼輸出

lld,例如 long long a printf lld n a c語言中有一個和long long型別想同的型別是 int64,他使用的格式是 i64d 如果是long long 那麼格式是 lld 使用 lld格式輸出。一 long long 是c99標準對整型型別做的擴充套件,每個版long...

C語言大數相乘找錯,為什麼輸不出結果啊

就像樓上那位說的一樣,你的程式是比較難懂滴 include include void maxx char a,char b int main char a b scanf 察羨 s s a,b maxx a,b return void maxx char a,char b int res resul...