C++ cin输入格式的问题
#include"iostream"#include"iomanip"#include"math.h"usingnamespacestd;intmain(){double...
#include "iostream"
#include "iomanip"
#include "math.h"
using namespace std;
int main()
{
double x,y;
cin>>x>>",">>y;
if(fabs(x*x+y*y-1)<0.001) cout<<"Y"<<endl;
else cout<<"N"<<endl;
return 0;
} 我想在输入x,y时用逗号分隔,但执行却错误,请问为什么 展开
#include "iomanip"
#include "math.h"
using namespace std;
int main()
{
double x,y;
cin>>x>>",">>y;
if(fabs(x*x+y*y-1)<0.001) cout<<"Y"<<endl;
else cout<<"N"<<endl;
return 0;
} 我想在输入x,y时用逗号分隔,但执行却错误,请问为什么 展开
4个回答
展开全部
这个还真不太容易说明白,因为C++使用流这个东西,cin是一个流对象,接收终端的输入遇到回车结束
然后终端的输入都存入到cin对象里
然后通过重载的运算符>>将存储的内容存储到变量里,但是默认按空格结束,其实你可以修改结束标志的
那么分析你cin的过程,输入1 空格 2,流里存入了1空格2
然后cin>>a,将1传给了a,遇到了空格,结束,但是此时cin并没有空.
cout << a,输出了1
然后继续cin>>b,因为cin里还有一个2存在,所以,b也得到了2
cout << b,就又输出2了
我也改一个判断输入的吧
#include
using namespace std;
int main()
{
int a=0,b=0;
char c;
while((c=cin.get()) != ' ' && c >= '0' && c <= '9')
{
a = a*10 + (c - '0');
}
//语句1
cout <<a; //语句2
//cin >>b; //语句3
while((c=cin.get()) != ' ' && c >= '0' && c <= '9')
{
b = b*10 + (c - '0');
}
cout <<b; //语句4
return 0;
}
然后终端的输入都存入到cin对象里
然后通过重载的运算符>>将存储的内容存储到变量里,但是默认按空格结束,其实你可以修改结束标志的
那么分析你cin的过程,输入1 空格 2,流里存入了1空格2
然后cin>>a,将1传给了a,遇到了空格,结束,但是此时cin并没有空.
cout << a,输出了1
然后继续cin>>b,因为cin里还有一个2存在,所以,b也得到了2
cout << b,就又输出2了
我也改一个判断输入的吧
#include
using namespace std;
int main()
{
int a=0,b=0;
char c;
while((c=cin.get()) != ' ' && c >= '0' && c <= '9')
{
a = a*10 + (c - '0');
}
//语句1
cout <<a; //语句2
//cin >>b; //语句3
while((c=cin.get()) != ' ' && c >= '0' && c <= '9')
{
b = b*10 + (c - '0');
}
cout <<b; //语句4
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cin>>x>>",">>y;
cin>>后面的全是输入..你不能中间加个逗号“,”
必须要分开写:
cin>>x;
cout<<",";
cin>>y;
cin>>后面的全是输入..你不能中间加个逗号“,”
必须要分开写:
cin>>x;
cout<<",";
cin>>y;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cin>>x;
cout<<",";
cin>>y;
这样写吧;
cout<<",";
cin>>y;
这样写吧;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询