大数的10次方

C++ Large numbers power of 10

本文关键字:10次      更新时间:2023-10-16

c++编程新手。是否有一种方法使代码更好,使它没有重复的代码。

if (totalDistance < pow(10, 3)) {
    cout << "nTotal (approx) travel distance = " << totalDistance << " million kmn" << endl;
}
else if (totalDistance < pow(10, 6)) {
    totalDistance = totalDistance / pow(10, 3);
    cout << "nTotal (approx) travel distance = " << totalDistance << " billion kmn" << endl;
}
else if (totalDistance < pow(10, 9)) {
    totalDistance = totalDistance / pow(10, 6);
    cout << "nTotal (approx) travel distance = " << totalDistance << " trillion kmn" << endl;
}
cout << "nTotal (approx) travel distance = ";
if (totalDistance < pow(10, 3)) {
    cout << totalDistance << " million kmn";
else if (totalDistance < pow(10, 6)) {
    cout << totalDistance / pow(10, 3) << " billion kmn";
}else if (totalDistance < pow(10, 9)) {
    cout << totalDistance / pwo(10, 6) << " trillion kmn";
}

我假设你不再使用totalDistance,如果你已经使用'n',你不需要一个endl。

最简单的改进:

if (totalDistance < pow(10, 3)) {
    outputDistance(totalDistance); 
}
else if (totalDistance < pow(10, 6)) {
    totalDistance = totalDistance / pow(10, 3);
    outputDistance(totalDistance); 
}
else if (totalDistance < pow(10, 9)) {
    totalDistance = totalDistance / pow(10, 6);
    outputDistance(totalDistance); 
}
private void outputDistance(const double totalDistance) {
cout << "nTotal (approx) travel distance = " << totalDistance << " trillion kmn" << endl;
}