由于喵星人和汪星人属于不同的物种,他们的度量衡也不同,比如喵星人的某单位M乘上11,然后再减去23173恰好等于汪星人的某单位W。也就是说0M等于-23173W,1M等于-23162W,现在请你写一段程序来帮助喵星人和汪星人做单位变换。
输入格式:
只有一行,为一个长度大于1且不超过12的字符串。其中最后一个字符只可能是W或M,代表相应的单位。其它字符代表一个整数,其中A代表负号(只可能是第一个字符),B到K代表9到0。
输出格式:
也只有一行,为变换后的结果(数字用阿拉伯数字,单位仍用M和W)。如果输入的单位为M,则转换为对应的W值输出;如果输入的单位为W,则转换为对应的M值输出;测试数据保证1、输入合法;2、除法运算不会有余数;3、运算过程中所有整数都可以用int存储。
输入样例:
JKM
输出样例:
-23063W
代码如下
#include <stdio.h>
#include <string.h>
int main()
{
char arr[13]={};
scanf("%s",arr);
int n=0;n=strlen(arr)-1;
long long sum=0,temp=0;
for(int i=0;i<n;i++)//将带有字符的字符串转化成对应数字
{
switch(arr[i])
{
case 'B':sum =9;
break;
case 'C': sum =8;
break;
case 'D': sum =7;
break;
case 'E': sum =6;
break;
case 'F': sum =5;
break;
case 'G': sum =4;
break;
case 'H': sum =3;
break;
case 'I': sum =2;
break;
case 'J':sum =1;
break;
case 'K': sum =0;
break;
}
temp=temp*10+sum;
//temp为转化后的数字
}
if(arr[0]=='A')
temp=-temp;
if(arr[n]=='M')//进行单位转换
{
sum=temp*11-23173;
printf("%lldW\n",sum);
}
if(arr[n]=='W')
{
sum=(temp+23173)/11;
printf("%lldM\n",sum);
}
return 0;
}