C++ 为什么我下面的程序输入3.00与4.00时,交换后的数字只可以系4与3,而不是原数?要如何修改?

来源:百度知道 编辑:UC知道 时间:2024/06/04 14:58:56
#include<iostream>

#include<iomanip>

using namespace std;

void sort(float& x,float& y);

void main()

{

float a,b;

cout<<"请输入两个数:"<<endl;

cin>>a>>b;

sort(a,b);

cout<<"交换后为:"<<a<<" "<<b<<endl;

}

void sort(float& x,float& y)

{
float temp;

temp=x;

x=y;

y=temp;

}
麻烦高手将你的答案以程序方式展示,因为小弟愚钝,文字理解不了

建议使用char类型的指针,这样就不会出现问题了。而且还能判断输入的是数字还是其他字符。

出现这样的问题是因为,系统在输出数字时,如果小数点后都是零,系统会忽略小数部分。

如果想输出像3.00这样的数,可以先用printf语句来实现,如
double x;
x=3.00;
printf("x=%.2f",x);
就可以实现,用流输出像3.00的数我也不会。

系统在输出数字时,如果小数点后都是零,系统会忽略小数部分。