#include <iostream.h>
#include <math.h>
void main()
{
double input;
double juedui;
cout<<"input your double value "<<endl;
cin>>input;
if(input<0)
{
juedui=-input;
}
else
juedui=input;
int k=int(juedui/5);
double outvalue=(k-1)*5;
double outvalue1=(k+1)*5;
double outvalue2=k*5;
double a,b,c;
double aa,bb,cc;
double outresult;
a=outvalue-juedui;
b=outvalue1-juedui;
c=outvalue2-juedui;
aa=fabs(a);bb=fabs(b);cc=fabs(c);
if((aa>bb)&&(aa>cc))
{
if (bb>cc)
{
outresult=outvalue2;
}
else
{
outresult=outvalue1;
}
}
else
{
outresult=outvalue;
}
if(input<0)
{
outresult=-outresult;
if(outresult>input)
{
outresult=outresult-5;
cout<<"result="<<outresult;
}
else
{
cout<<"result="<<outresult;
}
}
else
{
if(outresult>input)
{
outresult=outresult-5;
cout<<"result="<<outresult;
}
else
{
cout<<"result="<<outresult;
}
}
}
#include <iostream.h>
#include <math.h>
void main()
{
double input;
double juedui;
cout<<"input your double value "<<endl;
cin>>input;
if(input<0)
{
juedui=-input;
}
else
juedui=input;
int k=int(juedui/5);
double outvalue=(k-1)*5;
double outvalue2=k*5;
double a,c;
double aa,cc;
double outresult;
a=outvalue-juedui;
c=outvalue2-juedui;
aa=fabs(a);cc=fabs(c);
if(aa>cc)
{
outresult=outvalue2;
}
else
{
outresult=outvalue;
}
if(input<0)
{
outresult=-outresult;
if(outresult>input)
{
outresult=outresult-5;
cout<<"result="<<outresult;
}
else
{
cout<<"result="<<outresult;
}
}
else
{
if(outresult>input)
{
outresult=outresult-5;
cout<<"result="<<outresult;
}
else
{
cout<<"result="<<outresult;
}
}
}
方法3
#include <iostream>
using namespace std;
int CalcData(int InputData)
{
int Result;
double temp;
temp=(int)InputData%5;
if (temp>=0)
{
Result =InputData-temp;
}
else
{
Result =InputData-5-temp;
}
return Result;
}
int main(void)
{
double InputData;
cout<<"请输入数字:";
cin>>InputData;
cout<<"结果为:"<<CalcData(InputData)<<endl;
return 0;
}
本文提供了一个使用C++编写的程序,该程序能够接收一个浮点数作为输入,并计算出最接近该数值的5的倍数。通过一系列数学运算和条件判断,程序最终会输出结果。

4580

被折叠的 条评论
为什么被折叠?



