首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求c++程序将一个小数变换为最近的整数

2012-10-13 
求c++程序将一个小数转换为最近的整数求c++程序将一个小数转换为最近的整数[解决办法]C/C++ code#include

求c++程序将一个小数转换为最近的整数
求c++程序将一个小数转换为最近的整数

[解决办法]

C/C++ code
#include<iostream>#include<cmath>using namespace std;int main(){    double a;    cin>>a;    if(int(a+0.5) == int(a+1))       cout<<ceil(a);    if(int(a+0.5)< int(a+1))       cout<<int(a);    system("pause");    return 0;}
[解决办法]
C/C++ code
#include<iostream>#include<cmath>using namespace std;int main(){    double a;    cin>>a;    if((int)(a+0.5) == (int)(a+1))       cout<<ceil(a);    if((int)(a+0.5)< (int)(a+1))       cout<<(int)a;    system("pause");    return 0;}
[解决办法]
#include<iostream>
或者直接用C语言标准库函数double nearbyint(double x);

C/C++ code
#include<cmath>using namespace std;int main(){    double a;    cin>>a;    cout<<nearbyint(a);    system("pause");    return 0;}以下是循环版本#include<iostream>#include<cmath>using namespace std;int main(){    double a;    cout<<"请输入一个数,按enter键得到最接近该数的整数,按q结束输入:"<<endl;     while(cin>>a && (char)a != 'q')    {       cout<<nearbyint(a)<<endl;       if((char)a == 'q')       break;    }    system("pause");    return 0;}
[解决办法]
C/C++ code
#include <iostream>using namespace std;int f_to_int(double f){    return int(f+0.5)>int(f)?int(f+0.5):int(f);}int main(void){    double f=9.5001,f1=9.4999;        cout<<f<<" : "<<f_to_int(f)<<endl;    cout<<f1<<" : "<<f_to_int(f1)<<endl;;    system("pause");    return 0;}
[解决办法]
探讨
C/C++ code
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a;
cin>>a;
if((int)(a+0.5) == (int)(a+1))
cout<<ceil(a);
if((int)(a+0.5)< (int)(……

[解决办法]
你没试过怎么知道?
我所有程序都是经过编译运行得到正确结果才回复的
PS:
第五楼的第一个程序少了个头文件#include<iostream>


double完全可以强制转化成int

请实践检验之

探讨
引用:
C/C++ code
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a;
cin>>a;
if((int)(a+0.5) == (int)(a+1))
cout<<ceil(a);
if((int)(a+0.5)< (int)……

热点排行