说到C++的输入和输出,了解C++的朋友都知道最基本的输入和输出。
一、 cin(输入)和 cout(输出);
具体使用方法这里简单介绍一下,也为下文铺垫一下。
**(1)**输入变量a;输出 关注jockchong;
具体代码如下:
#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
cout<<"关注jockchong";
return 0;
}
非常简单了
特别注意转义字符对输出的影响
例如
输出图片中的内容
正确答案
#include<iostream>
using namespace std;
int main()
{
cout<<"***"<<"\\"<<"n*******"<<"\\"<<"n***"<<endl<<endl;
cout<<"*** Very Good ***"<<endl<<endl;//不能直接用\n
cout<<"***"<<"\\"<<"n*******"<<"\\"<<"n***";
return 0;
}
我们都知道如果直接码上代码\n,那么输出就会输出换行。这类题要注意,总得来说不难但是得灵活掌握,冷静冷静冷静。
(2)
cout特殊格式
1、保留小数问题(后文有简便方法)
在运用cout时会遇到特殊格式也就是特殊要求
在C++中保留小数有特殊的格式其头文件要加上
#include<iomanip>
输出时
double a;
cin>>a;
cout<<setiosflags(ios::fixed)<<setprecision(8)<<a;
//保留8位小数;
注意单词很长不要记错
在后文中我会介绍不用背这么长单词的写法;继续往下看(有惊喜哦)
2 、设置输出字段宽度
在C++中有很多设置字段宽度的要求,很美观。
其方法如下:
头文件依旧添加#include<iomainip>
输出时:
int i;
cin>>i;
cout<<setw(12)<<i;//设备输出字段宽度为12.
`
注意:单词不要记错
二 、printf (输出)和 scanf (输入) //很重要
我们都知道scanf 和 printf 都是C语言中的输入和输出,在C++中同样可以运行,那么对于c++中比较特殊的输出格式就可以用 printf 来解决
【1】//换一种编号格式,换一种心情**
先简单介绍一下 scanf 和 printf**
scanf 为输入
其格式为
scanf(格式控制,输出表列)
例如:
int a;
double b;
char c;
scanf("%d %lf %c",&a,&b,&c);//注意在变量前加取址运算符&;
printf 为输出
其格式为
printf(格式控制,输出表列)
例如:
printf(“a=%d,b=%lf,c=%c”,a,b,c);
输出结果为
[2]用 printf 解决特殊输出问题
1、小数问题
例如 输出保留3位小数的数
#include<iostream>
using namespace std;
int main()
{
double a;
cin>>a;
printf("a=%.3lf",a);
return 0;
}
结果为:
2、设置字段宽度问题
例如:
设置20宽度
#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
printf("a=%20.d",a);
return 0;
}
结果为
特别注意:有结果靠左,靠右问题
例如
#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
printf("a=%-20.d",a);
cout<<"k";
return 0;
}
结果为
三、 getchar()输入问题;
因为 cin 不能识别空格,换行等字符,在某些问题中常用,getchar()吸收空格或者回车符
例如
输入
n
n-1
.
.
.
1
输出
n n-1 …1;
#include<iostream>
using namespace std;
int main()
{
int n;
char c;
cin>>n;
int a[n];
for(int i=n-1;i>0;i--)
{
cin>>a[i];
c=getchar();
}
cout<<n;
for(int i=n-1;i>0;i--)
cout<<a[i];
return 0;
}
结果为
四、 getline 输入问题
geiline 输入为输入一行字符
例如
#include
#include
using namespace std;
int main()
{
string a;
string b;
getline(cin,a);//回车结束
getline(cin,b,‘0’);//'0’输入0结束
cout<<a<<endl;
cout<<b;
return 0;
}
结果为
五、无限循环输入问题
例如:典型例题 判断同学们的成绩合不合格
#include<iostream>
using namespace std;
int main()
{
int a,b=0,c=0;
while(cin>>a)
{
if(a<=60&&a>0)
b++;
else
c++;
}
cout<<b<<" "<<c;
}
结果为
输入ctril +z 循环结束
六:总结:太累了直接上图吧
对于C++的输入输出问题先总结到这,喜欢加关注吧!
由于目前水平有限如有问题多多指教。