四舍五入
今天做了四舍五入的程序觉得书上的那种先扩大再缩小太麻烦
想用数组做
可是有bug#include <bits/stdc++.h>
using namespace std;
int main()
{
int integer,f;
cout<<"请输入整数部分的数字的个数:";
cin>>integer;
cout<<"请输入小数部分的数字的个数:";
cin>>f;
char nums;
cout<<"开始输入:"<<endl;
for (int i = 0;i < integer + f + 1;i++)
{
cin>>nums;
}
int num;
cout<<"保留到小数点后第几位?";
cin>>num;
if (nums >= 5)
{
nums++;
}
for (int k = 1;k <= integer + 1 + num;k++)
{
cout<<nums;
}
return 0;
}
这里integer是整数部分的位数,f是小数部分的位数
nums是存储小数的数组,因为有小数点所以用char
num是保留小数点后几位
各位大佬看看怎么改 错误已修改,并做了注释
#include <bits/stdc++.h>
using namespace std;
int main()
{
int integer,f;
cout<<"请输入整数部分的数字的个数:";
cin>>integer;
cout<<"请输入小数部分的数字的个数:";
cin>>f;
char nums;
cout<<"开始输入:"<<endl;
for (int i = 0;i < integer + f + 1;i++)
{
cin>>nums;
}
int num;
cout<<"保留到小数点后第几位?";
cin>>num;
if (nums >= '5')//这里错了,应该是和字符5比较大小
{
nums++;// 自加1 的位数不对,应该是小数点后面第 num 位
}
for (int k = 0;k < integer + 1 + num;k++)//这里不对,k 初始值应该为0,k结束值出不应该有等号
{
cout<<nums;
}
return 0;
} sunrise085 发表于 2020-9-12 17:42
错误已修改,并做了注释
多谢
页:
[1]