❶ c語言 「企業發放的獎金根據利潤提成」 的問題
你scanf("&d",&i); 改為scanf("%f",&i); 就行,最後面的輸出用%g好一些,可以出去多餘的0
#include<stdio.h>
int main()
{
float i,J,a,b,c,d,e;
printf("請輸入利潤:I=");
scanf("%f",&i);
a=10000;
b=7500;
c=10000;
d=6000;
e=6000;
if(i<=100000) J=i*0.1;
else if(i<=200000) J=a+(i-100000)*0.075;
else if(i<=400000) J=a+b+(i-200000)*0.05;
else if(i<=600000) J=a+b+c+(i-400000)*0.03;
else if(i<=1000000) J=a+b+c+d+(i-600000)*0.015;
else
J=a+b+c+d+e+(i-1000000)*0.01;
printf("獎金總數:%g\n",J);
return 0;
}
❷ C語言 企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於
這道c語言的解是:
#include #include int main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",i); bonus1=*0.1;bonus2=bonus1+*0.75; bonus4=bonus2+*0.5; bonus6=bonus4+*0.3; bonus10=bonus6+*0.15; if(i<=) bonus=i*0.1; else if(i<=) bonus=bonus1+(i-)*0.075; else if(i<=) bonus=bonus2+(i-)*0.05; else if(i<=) bonus=bonus4+(i-)*0.03; else if(i<=) bonus=bonus6+(i-)*0.015; else bonus=bonus10+(i-)*0.01; printf("bonus=%d",bonus); system("pause"); return 0; }
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言訂定了一套完整的國際標准語法,稱為ANSIC,作為C語言最初的標准。
拓展資料:
1.構成c語言的基本單位是什麼:
構成c語言程序的基本單位是函數,一個函數由兩部分組成,語言程序裡面的2語言是特別難的一部分。因為c語言要了解函數,如果函數沒有太多的了解,對於語言程序也是很難掌握的;
函數又包括了函數名、函數類型、函數屬性、函數參數名和形式參數類型等等,除了要記住這些名詞解釋以外,還要記住函數的公式。在計算機運行當中,函數是一個重要的組成部分,有些學校還會專門開課講解函數的相關理論知識。
2.c語言的作用:
c語言可以用來驅動程序、寫系統服務、開發應用軟體、生成聲音信號、處理自然語言、設計大型游戲、開發網頁等等;
單片機,由於C語言在位操作上的優越性,在單片機領域,C語言也一直獨領風騷,雖然現在出現了一些用其他編程語言操作單片機的方法,但也都是用C語言封裝過的,可以說核心還是C語言。操作系統,C語言最著名的應用領域就是操作系統了,目前所有的操作系統內核都是C語言寫的,最著名的就是Unix和Linux了。
❸ c語言 企業提成問題,高手指教啊~!
1.首先 你的『大於***並且小於等於***』類似於這類的寫錯了,在C語言中是不能像數學中那樣表示,而應該是『X>*** and X<=***』
2.其次,你的代碼適度有問題,計算公式不正確,如:利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元部分,可提成7.5%;你的公式是這樣的--if(100000<i<=200000) m=10000+(i-100000)*7.5%;這段代碼是不正確的,應該是if(100000<i and i<=200000) m=100000*0.1+(i-100000)*0.075;(不知道你那1萬是從哪來的,正確的應該是10萬乘以10%)
3.在 if(200000<i<=400000) m=17500+(i-200000)*5%;計算公式中,少加上了『10000』這個部分的利潤,應該為 m=17500*7.5%+(i-200000)*5%;(也不知道你那17500哪來的,但是正確的應該是200000*0.075+(i-200000)*0.05)
你就對照著我給你的三個錯誤一步步的類推
double型應為『%lf』
建議你用你自己寫的第二種方法加以修正。
❹ 用C語言編寫計算工人工資怎麼編寫
用C語言編寫計算工人工資怎麼編寫?
某工廠按工人的工時計算工人工資,規則如下:工資按每小時84元計發。若總工時>120小時,超過120小時的部分每小時加發15%;若總工時<60小時,則總工資扣發700元。編寫程序,從鍵盤錄入某工人的工時,程序能計算並輸出該工人的工資。(畫出程序流程圖)
❺ C語言,模擬工資計算器,計算一個銷售人員的月工資的數量(月工資=基本工資+提成,提成=商品數*1.5)。
樓主的代碼存在兩個明顯問題:
1、數值類型掌握不好
計算工資時很可能出現小數,而樓主聲明變數時完全採用了int型,先不說是否邏輯正確。int型的變數直接與後面代碼沖突。
有兩個問題:
1.1:
scanf()中樓主在括弧內寫的是%ld,%ld等待的輸入類型是long int,而樓主聲明的是
int。
1.2:
iCommission=(iSales*1.5);
iSales為整形,1.5為浮點型,iSales*1.5的結果會隱式轉換為浮點型,而iCommission為
整型int。在賦值時會產生錯誤。
需要補充知識點:參數類型的定義和轉換。請查閱任何一本C語言教材。
2、scanf()函數掌握不好
這也是樓主最關心的問題,scanf()中 、空格和製表符都是是空白符。空白字元會使scanf()函數在讀操作中略去輸入中的一個或多個空白字元。只有輸入一個非空白符的時候才能終止scanf的輸入。另外在上一點提出的參數類型也需要格外注意。
需要補充知識點:scanf()函數的使用方法。請查閱相關文檔。
http://ke..com/link?url=_
再啰嗦幾句:puts()函數用來向標准輸出設備(屏幕)寫字元串並換行,其調用方式為,puts(s);其中s為字元串字元(字元串數組名或字元串指針)。雖然樓主的使用方式也正確,但是最好也查閱一下更標準的使用方法。
http://ke..com/link?url=MVSb8tWqQPMLWzKve4IpvgamU_2P--Rf63HG3AeUc3Cb7XRp53K35Bs9IQ_8IA3Y2lqRaZ0zCTenPgzg8RLSYK
下面貼出我修改後的代碼:
#include<stdio.h>
intmain()
{
doubleiSalary,iBasic,iCommission,iSales;
printf("Pleaseenterthebasicpayment:");
scanf("%lf",&iBasic);
printf("Pleaseenterthesales:");
scanf("%lf",&iSales);
iCommission=(iSales*1.5);
printf("提成工資為:%lf ",iCommission);
iSalary=(iBasic+iCommission);
printf("月工資數量:");
printf("%lf",iSalary);
return0;
}
請樓主注意其中變數類型的變化以及輸入輸出中%後面的變化。
小提示:編程過程中細節真的很重要啊,還有,以後遇到問題,試著分解成一個個小問題分析,再查找相關的解決辦法,學會善用搜索引擎。比如樓主在輸入時遇到了問題,就要想是不是scanf出問題了呀,進而去搜索它的正確用法。這才是真正的解決問題。
❻ C語言怎麼編寫程序,底薪加上總銷售額的提成等於總收入求會的好心人教下我
#include<stdio.h>
int main(void){
float a,b;//a為輸入銷售額,b為銷售人員收入
printf("輸入銷售額");
scanf("%f",&a);
b=(200+a*0.08);
printf("銷售員該星期收入為%f",b);
return(0);
}
❼ 用C語言編寫一個計算薪水的程序
/*工資計算程序*/
#include <stdio.h>
main()
{
float originWage; /*應發工資*/
float realWage; /*實發工資*/
float tax; /*所繳稅款*/
int i,hour,amount,money;
printf("請選擇工資種類:\n1.計時工資\n2.計件工資\n3.固定月工資\n");
scanf("%d",&i);
switch(i)
{
case 1:{
printf("請輸入工作時間(單位:小時)\n");
scanf("%d",&hour);
printf("請輸入單位時間的薪水(單位:元)\n");
scanf("%f",&money);
originWage=money*hour;
}
break;
case 2:{
printf("請輸入生產產品數量(單位:件)\n");
scanf("%d",&amount);
printf("請輸入生產一件產品的薪水(單位:元)\n");
scanf("%f",&money);
originWage=money*amount;
}
break;
case 3: printf("請輸入你的固定工資\n");
scanf("%f",&originWage);
break;
default:printf("輸入錯誤!\n");
return 0;
}
if(originWage<0)
{
printf("數據錯誤!\n");
return 0;
}
if(originWage<2000)
tax=0;
else if(originWage>2000&&originWage<=2500)
tax=(originWage-2000)*0.05;
else if(originWage>2500&&originWage<=4000)
tax=(originWage-2500)*0.1+500*0.05;
else
tax=(originWage-4000)*0.15+1500*0.1+500*0.05;
printf("應發工資: %f\n",originWage);
printf("所繳稅款: %f\n",tax);
printf("實發工資: %f\n",originWage-tax);
return 0;
}