【来源】
【分析】
题目中已经给出公式,直接套用公式即可。若单位不统一,将单位化统一。
【代码】
#include <iostream>
#include <string>
using namespace std;
int main()
{
int T;
cin >> T;
for (int i = 0; i < T; ++i){
double focal;
string unitf;
double ccd;
string unitc;
double image;
string uniti;
cin >> focal >> unitf >> ccd >> unitc >> image >> uniti;
if (unitf == "dm"){
focal /= 10.0;
}
else if (unitf == "cm"){
focal /= 100.0;
}
else if (unitf == "mm"){
focal /= 1000.0;
}
else if (unitf == "um"){
focal /= 1000000.0;
}
else if (unitf == "nm"){
focal /= 1000000000.0;
}
if (unitc == "dm"){
ccd /= 10.0;
}
else if (unitc == "cm"){
ccd /= 100.0;
}
else if (unitc == "mm"){
ccd /= 1000.0;
}
else if (unitc == "um"){
ccd /= 1000000.0;
}
else if (unitc == "nm"){
ccd /= 1000000000.0;
}
double result = image * focal / ccd;
cout << "Case " << i + 1 << ": " << (int)((result * 100) + 0.5) / 100.0 << "px" << endl;
}
//system("pause");
return 0;
}
【点评】
本题为简单题。