关于c++的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 12:56:53
// Note:Your choice is C++ IDE
#include "iostream.h"
void main()
{
double long i,j;
cout<<"请输入i:";
cin>>i
j=10000+7500+10000+6000+(i-600000)*0.015;
}

第二种方法:
#include "iostream.h"
void main()
{
double long i;
double long j;
double long t=33500;
cout<<"请输入i:";
cin>>i;
j=t+(i-600000)*0.015;
cout<<j;
}

当我运行程序的时候第一种情况,当输入的值大于600000时程序输出的是个负数;
可是第二种情况,当程序输入就没有问题,

我想这是有关 数据类型的问题,可是我有点搞不清楚,这两种有什么区别,为什么第一种情况 就会出现负数呢?
第一个程序 少的那个分号 是有的
我用的 Turbo c 调试的
还是那个问题

#include "iostream.h"
#include "iostream.h"
void main()
{
long double i,j;
cout<<"请输入i:";
cin>>i ;
j=10000+7500+10000+6000+(i-600000)*0.015;
cout<<j<<endl;
}
只是代码里面分号的问题
没什么大不了的
double long
最好写成 long double 这个是比较常用的写法
long double是一个相当大范围的数值范围了

是不是输入错了 我用vs2005 程序运行正常啊

cin>>i 后面少了;
加上分号后,下面再加cout<<j;
输出结果没错