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...