试题名称:单位转换
时间限制:1.0s
内存限制:128.0MB
[问题描述]
小杨这周的数学作业是做单位转换,喜欢编程的小杨决定编程帮他解决这些问题,小杨只学了长度单位和重量单位,具体来说:
长度单位包括千米(km)、米(m)、毫米(mm),它们之间的关系是:1km-1000m-1000000mm
重量单位包括千克(kg)、克(g)、毫克(mg),它们之间的关系是:1kg-1000g=1000000mg,
小杨的作业只涉及将更大的单位转换为更小的单位,也就是说,小杨的作业只会包含如下题型:米转换为毫米,千米转换为毫米,千米转换为米,克转换为毫克,千克转换为毫克,千克转换为克.
现在,请你帮忙完成单位转换的程序。
[输入描述]
输入的第一行为一个整数N,表示题目数量。
接下来 N行,每行一个字符串,表示转换单位的题目,格式为x单位1=?单位2。其中,x为一个不超过1000的非负整数,单位1和单位2分别为两个单位的英文缩写,保证它们都是长度单位或都是重量单位,且单位1比单位2更大。
例如,如果题目需要你将1km转换为mm,则输入为1km=?mm。
保证1≤N≤1000。
[输出描述]
输出N行,依次输出所有题目的答案,输出时,只需要将输入中的?代入答案,其余部分一字不差地输出即可。由于小杨的题目只涉及将更大的单位转换为更小的单位,并且输入的x是整数,因此答案一定也是整数。
例如,如果题目需要你将1km转换为mm,输入为1km-?mm,则你需要输出1 km=1000000mm。
[特别提醒]
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。输入格式将严格按照题目要求,且你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
for(int i = 0; i < n ; i++){
int m ;
string d,g ,f,x;
cin >> m >> d >> g >> f >> x;
long long f1 = 0;
if (d == "km"){
if(x == "mm"){
f1 = m * 1000000;
} else {
f1 = m * 1000;
}
} else if (d == "kg"){
if (x == "mg"){
f1 = m * 1000000;
} else {
f1 = m * 1000;
}
} else {
f1 = m * 1000;
}
cout << m << " " << d << " = " << f1 << " " << x << endl;
}
return 0;
}