通過計算機語言自定義保留小數

Smile face everday發表於2019-04-02

題目描述
夏天到了,各家各戶的用電量都增加了許多,相應的電費也交的更多了。小玉家今天收到了一份電費通知單。小玉看到上面寫:據閩價電[2006]27號規定,月用電量在150千瓦時及以下部分按每千瓦時0.4463元執行,月用電量在151~400千瓦時的部分按每千瓦時0.4663元執行,月用電量在401千瓦時及以上部分按每千瓦時0.5663元執行;小玉想自己驗證一下,電費通知單上應交電費的數目到底是否正確呢。請編寫一個程式,已知用電總計,根據電價規定,計算出應交的電費應該是多少。
輸入輸出格式
輸入格式:

輸入一個整數,表示用電總計(單位以千瓦時計),不超過10000。
輸出格式:

輸出一個數,保留到小數點後1位(單位以元計,保留到小數點後1位)。
輸入輸出樣例

輸入樣例#1:
複製
267

輸出樣例#1:
複製
121.5

#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
 int a;
 cin >> a;
 double sum;
 if (a <= 150) sum = 0.4463*a;
 else if (a >= 151 && a <= 400) sum = 150 * 0.4463 + (a - 150)*0.4663;
 else if (a >= 401) sum = 150 * 0.4463 + 250 * 0.4663 + (a - 400)*0.5663;
 a = (int)(sum * 10+0.5);
 sum = (double)(a*0.1);
 cout << sum;
 return 0;
}
#include<iostream>
using namespace std;

C++的輸出方式

a = (int)(sum * 10+0.5);

採用數學的思想進行解答的,注意我的保留一位小數的方法是將小數保留多少位就乘以10^次方數,+0.5是一種直覺控制的四捨五入法。

相關文章