lanqiaobei12

[每周例题1]蓝桥杯c++ 2120.纸张尺寸
题目描述
在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm× 841mm, 将 A0 纸 沿长边对折后为 A1 纸,
大小为 841mm× 594mm, 在对折的过程中长度直接取 下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸, 依此类推。
输入纸张的名称, 请输出纸张的大小。

输入格式
输入一行包含一个字符串表示纸张的名称, 该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。

输出格式
输出两行,每行包含一个整数,依次表示长边和短边的长度。

#include <iostream>
#include <string>
using namespace std;
int main()
{
	// 请在此输入您的代码
	int A0[10][2];
	string str;
	A0[0][0] = 1189;
	A0[0][1] = 841;

	for (int i = 1; i < 10; i++)
	{
        //使An的宽等于An-1的长       
		A0[i][0] = A0[i - 1][1];
        
        //使An的长/2等于An-1的宽        
		A0[i][1] = A0[i - 1][0] / 2;
	}
	cin >> str;
    //定义一个string记录用户输入的如A0,A1等类型纸张
    //拿到如A0后面的字符类型的'0'对其进行-'0'操作可以的到数字零
	int a = str[1] - '0';
	for (int i = 0; i < 10; i++)
	{
		if (a == i)
		{
			cout << A0[i][0] << endl << A0[i][1];
		}
	}

	return 0;
}

思路:


​ 后一级的长、宽分别等于前一级的宽、长/2,拿到用户输入的字符串对其进行-’0‘操作可以拿到真实的数。

posted @   风起鹤归  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示