NO.9十六届蓝桥杯备战|4道习题|cin和cout(C++)
习题
浮点除法
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
double c = a * 1.0 / b;
printf("%.3f", c);
return 0;
}
B2012 甲流疫情死亡率
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
printf("%.3lf%%\n", b * 100.0 / a);
return 0;
}
- 百分号%可以这样输出:
printf("%%");
- 注意a和b的取值范围
- 百分⽐不是直接b/a,是需要乘以100.0的,因为需要得到⼩数,所以要是⼩数除法
- 有时候:先乘100再除a,还是先除a再乘100是有差异的。
B2013 温度表达转化
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
double f;
cin >> f;
printf("%.5f\n", 5 * (f - 32) / 9);
return 0;
}
#include <cstdio>
int main()
{
double f = 0;
scanf("%lf", &f);
double c = 5 * (f - 32) / 9.0;
printf("%.5lf\n", c);
return 0;
}
B2015 计算并联电阻的阻值
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
double r1, r2;
cin >> r1 >> r2;
double R = 1 / (1 / r1 + 1 / r2);
printf("%.2f\n", R);
return 0;
}
B2014 与圆相关的计算
#include <iostream>
#include <cstdio>
#define PI 3.14159
using namespace std;
int main()
{
double r;
cin >> r;
printf("%.4f %.4f %.4f\n", 2 * r, 2 * PI * r, PI * r * r);
return 0;
}
B2004 对齐输出
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
printf("%8d %8d %8d\n", a, b, c);
return 0;
}
糖果游戏
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d, e;
int a1, b1, c1, d1, e1;
cin >> a >> b >> c >> d >> e;
a /= 3; b += a; e += a;
b /= 3; a += b; c += b;
c /= 3; b += c; d += c;
d /= 3; c += d; e += d;
e /= 3; d += e; a += e;
printf("%5d%5d%5d%5d%5d\n", a, b, c, d, e);
return 0;
}
cin和cout
cin 是C++中提供的标准输⼊流对象,⼀般针对的是键盘,也就是从键盘上输⼊的字符流,使⽤cin 来进⾏数据的提取, cin ⼀般是和 >> (流提取运算符)配合使⽤的。 cin 的功能和 scanf
是类似的。
cout 是C++中提供的标准输出流对象,⼀般针对的控制台的窗⼝,也就是将数据以字符流的形式输出到控制台窗⼝上显⽰。 cout ⼀般是和 << (流插⼊运算符)配合使⽤。 cout 的功能和
printf 是类似的。
我们在写程序的时候,经常需要处理数据,不管什么类型的数据都是以字符流的形式输⼊和输出的,也就是不管在键盘上输⼊什么类型的数据,还是将程序中的各种类型的数据输出显⽰到控制台屏幕上,都是以字符流的形式处理的。
cin 和 cout 的输⼊输出⾮常的⽅便,不需要⼿动控制格式,能够⾃动识别变量类型。
基本用法
#include <iostream>
using namespace std;
int main()
{
int a;
char c;
float f;
cin >> a; // 读取⼀个整数
cin >> c; // 读取⼀个字符
cin >> f; // 读取取⼀个浮点数
cout << "打印结果:"<<endl;
cout << a << endl;
cout << c << endl;
cout << f << endl;
return 0;
}
当我们在键盘输⼊数据的时候,输⼊的数据不能被 cin 解读为对应类型的数据,那么读取也就结束了。
cin 使⽤细节:
- cin 在读取的时候是根据⽤⼾的输⼊,从前往后,从上往下依次扫描。
- cin 在读取的过程中遇到空格,⾃动会跳过,所以不要担⼼在想要的字符前输⼊空⽩字符。当⼀⾏读取结束的时候,会⾃动换⾏,读取下⼀⾏的内容。
- cin 后⾯不可以跟换⾏ endl
连续输⼊输出
cin 和 cout 能做到⼀次输⼊/输出多个数据
在上⾯的代码中,使⽤ cout 进⾏变量的输出,实质上是将变量插⼊到 cout 对象⾥,并以 cout 对象作为返回值返回,因此我们还可以⽤ << 在后⾯连续输出多个内容,通过连续输⼊输出的⽅式对代码进⾏编写
#include <iostream>
using namespace std;
int main()
{
//不同类型变量的连续输⼊
int a = 0;
char ch = 0;
float f = 0;
cin >> a >> ch >> f;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
//⽀持相同/不同类型变量的连续输⼊
char ch = 0;
float f = 0.1;
cout << ch << f << endl;
//格式化输出:添加(任意)空格和字符串
cout << "ch:" << ch << " f:" <<
f << endl;
//格式化输出:多次换⾏
cout << ch << endl << endl;
return 0;
}
cin 的好处:
当输⼊若⼲个变量(也就是数据量很少)的时候,我们就可以通过 >> 把所有的数据⽤⼀⾏代码完成接收,⽽且⽆需关⼼数据的类型,和 scanf 函数⽐起来代码的书写⾮常简洁明了。
cout 的好处:
cout 也可以⽤来连续输出多个数值,⽽且⽆需考虑数值的类型,因为它本⾝会做类型处理,和 printf ⽐起来⽐较⽅便。