当前位置: 首页 > article >正文

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;
}
  1. 百分号%可以这样输出: printf("%%");
  2. 注意a和b的取值范围
  3. 百分⽐不是直接b/a,是需要乘以100.0的,因为需要得到⼩数,所以要是⼩数除法
  4. 有时候:先乘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;
}
糖果游戏

![[Pasted image 20250208155402.png]]

#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;  
}

![[Pasted image 20250208162851.png]]

当我们在键盘输⼊数据的时候,输⼊的数据不能被 cin 解读为对应类型的数据,那么读取也就结束了。
![[Pasted image 20250208162939.png]]

cin 使⽤细节:

  1. cin 在读取的时候是根据⽤⼾的输⼊,从前往后,从上往下依次扫描。
  2. cin 在读取的过程中遇到空格,⾃动会跳过,所以不要担⼼在想要的字符前输⼊空⽩字符。当⼀⾏读取结束的时候,会⾃动换⾏,读取下⼀⾏的内容。
  3. 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 ⽐起来⽐较⽅便。


http://www.kler.cn/a/537996.html

相关文章:

  • VLLM历次会议(2024.1)
  • SQLAlchemy 的内存消耗
  • 【Git】tortoisegit使用配置
  • elasticsearch实战三 elasticsearch与mysql数据实时同步
  • 现在中国三大运营商各自使用的哪些band频段
  • 电商行业的新篇章:3D和AR技术助力销售转化率提升!
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-tal.py
  • 百科词条创建审核不通过的原因有哪些?
  • RISCV基础知识
  • Matlab机械手碰撞检测应用
  • kubeadm构建k8s源码阅读环境
  • JAVA—SpringBoot—Vue篮球联赛校园管理系统
  • 激活函数篇 02 —— 双曲正切函数tanh
  • Eclipse IDE 快捷键大全
  • 镭速大文件传输软件如何邀请他人上传文件
  • 树和二叉树_6
  • Java序列化与反序列化:原理、实践与陷阱
  • Swift语言的云计算
  • 混合专家模型(MoE)概述:智能计算的新范式
  • Redis --- 使用HyperLogLog实现UV(访客量)
  • B树详解及其C语言实现
  • java 读取sq3所有表数据到objectNode
  • 使用TensorFlow和Keras构建卷积神经网络:图像分类实战指南
  • Maven插件—代码规范格式化spotless-maven-plugin
  • 记录虚拟机安装银河麒麟V10系统中遇到的一些问题
  • 深度学习和机器学习的区别|自注意力机制和多头注意力机制的展示|售前面试题