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;
}
麻烦高手将你的答案以程序方式展示,因为小弟愚钝,文字理解不了
#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的数我也不会。
系统在输出数字时,如果小数点后都是零,系统会忽略小数部分。