我已经到处检查了答案,我无法弄清楚为什么如果我输入stnumber为123它不会出现为1.23,而是1,如果我输入0.123它也会来我只是开始学习C ++,所以我可能会犯一个明显的错误,我不明白,如果是这样,我为此道歉。这不是main()函数的一部分,因此返回stnumber将其发回。编辑:我现在把整个程序放在这里。
#include <iostream>
int stsc()
{
std::cout << "enter your number" << std::endl;
long double stnumber = 1.0;
std::cin >> stnumber;
for (;;) {
if (stnumber >= 1.0) {
if (stnumber < 10.0) {
return stnumber;
}
stnumber = stnumber / 10.0;
}
if (stnumber < 1.0) {
stnumber = stnumber * 10.0;
}
}
}
答案 0 :(得分:0)
int stsc()
是问题所在。做那个
long double stsc()
该函数返回一个整数值,并且您的变量stnumber在打印前向下舍入。