题目描述
在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm, 将 A0 纸 沿长边对折后为 A1 纸, 大小为 841mm × 594mm, 在对折的过程中长度直接取下整 (实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。
输入纸张的名称, 请输出纸张的大小。
输入描述
输入一行包含一个字符串表示纸张的名称, 该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。
输出描述
输出两行,每行包含一个整数,依次表示长边和短边的长度。
实现代码
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
// A0:1189mm × 841mm
char a;
int b;
cin>>a>>b;
switch(b)
{
// A0 的纸
case 0:
{
cout<<"1189"<<endl;
cout<<"841"<<endl;
break;
}
case 1:
{
cout<<"841"<<endl;
cout<<"594"<<endl;
break;
}
case 2:
{
cout<<"594"<<endl;
cout<<"420"<<endl;
break;
}
case 3:
{
cout<<"420"<<endl;
cout<<"297"<<endl;
break;
}
case 4:
{
cout<<"297"<<endl;
cout<<"210"<<endl;
break;
}
case 5:
{
cout<<"210"<<endl;
cout<<"148"<<endl;
break;
}
case 6:
{
cout<<"148"<<endl;
cout<<"105"<<endl;
break;
}
case 7:
{
cout<<"105"<<endl;
cout<<"74"<<endl;
break;
}
case 8:
{
cout<<"74"<<endl;
cout<<"52"<<endl;
break;
}
case 9:
{
cout<<"52"<<endl;
cout<<"37"<<endl;
break;
}
}
return 0;
}
注意点
注意 switch
语句加 break
!以及很多次出现这种问题了!And 这道题我的解法其实也是有一点投机取巧的感觉在的,开始想的一个方法是写一个 class
,转念一想自己的水平写 class
有点不太行,就放弃了。
知识点
switch
语句每个case
后面的break
一定要加,否则会出很多错。