算法入门竞赛ch3:3-1586

来源:互联网 发布:千牛是干什么的软件 编辑:程序博客网 时间:2024/04/30 22:00

/*


是考虑字母大写

*/


#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;


int main()
{
char p[100] = {0};
double sum = 0;
int num = 0;
while (scanf("%d",&num))
{
if (num>=0)
{
num--;
while (cin >> p)
{
sum = 0.0;
for (int i = 0; p[i] != '\0'; i++)
{
cout << p[i];
}
for (int i = 0; p[i] != '\0'; i++)
{

switch (p[i])
{
case 'C':
{
if (p[i+1]>='0'&&p[i+1]<='9')
{
if (p[i + 2] >= '0'&&p[i + 2] <= '9')
{
sum += ((p[i + 1] - '0') * 10 + (p[i + 2] - '0') )* 12.010;
}
else
{
sum += (p[i + 1] - '0')* 12.010;
}
}
else
{
sum +=  12.010;
}
break;
}
case 'O':
{
if (p[i + 1] >= '0'&&p[i + 1] <= '9')
{
if (p[i + 2] >= '0'&&p[i + 2] <= '9')
{
sum += ((p[i + 1] - '0') * 10 + (p[i + 2] - '0'))* 16.00;
}
else
{
sum += (p[i + 1] - '0')* 16.00;
}
}
else
{
sum += 16.00;
}
break;
}
case 'H':
{
if (p[i + 1] >= '0'&&p[i + 1] <= '9')
{
if (p[i + 2] >= '0'&&p[i + 2] <= '9')
{
sum += ((p[i + 1] - '0') * 10 + (p[i + 2] - '0'))* 1.008;
}
else
{
sum += (p[i + 1] - '0')* 1.008;
}
}
else
{
sum += 1.008;
}
break;
}
case 'N':
{
if (p[i + 1] >= '0'&&p[i + 1] <= '9')
{
if (p[i + 2] >= '0'&&p[i + 2] <= '9')
{
sum += ((p[i + 1] - '0') * 10 + (p[i + 2] - '0'))* 14.01;
}
else
{
sum += (p[i + 1] - '0')* 14.01;
}
}
else
{
sum += 14.01;
}
break;
}
default:
break;
}
}
printf("%.3f",sum);
}
}

}




system("pause");
}
0 0
原创粉丝点击