HDU 1985 Conversions

来源:互联网 发布:辐射4 捏脸数据 编辑:程序博客网 时间:2024/06/06 18:40

http://acm.hdu.edu.cn/showproblem.php?pid=1985

 

Conversions

Time Limit: 1000/500 MS(Java/Others)    MemoryLimit: 32768/32768 K (Java/Others)
Total Submission(s):844    AcceptedSubmission(s): 511


Problem Description
Conversion between the metric andEnglish measurement systems is relatively simple. Often, itinvolves either multiplying or dividing by a constant. You mustwrite a program that converts between the following units:
HDU <wbr>1985 <wbr>Conversions

 


 

Input
The first line of input contains asingle integer N, (1 ≤ N ≤ 1000) which is the number of datasetsthat follow.
Each dataset consists of a single line of input containing afloating point (double precision) number, a space and the unitspecification for the measurement to be converted. The unitspecification is one of kg, lb, l, or g referring to kilograms,pounds, liters and gallons respectively.
 


 

Output
For each dataset, you should generateone line of output with the following values: The dataset number asa decimal integer (start counting at one), a space, and theappropriately converted value rounded to 4 decimal places, a spaceand the unit specification for the converted value.

 


 

Sample Input
5 1 kg 2 l7 lb 3.5 g 0 l
 


 

Sample Output
1 2.2046 lb2 0.5284 g 3 3.1752 kg 4 13.2489 l 5 0.0000 g
 


 

Source
2008 “Shun Yu Cup” Zhejiang Collegiate Programming Contest - WarmUp(1)
 


 

Recommend
linle
 
题目大意:一些单位的转换。
分析:甚至不用看表格,直接用题中给的样例就可以计算所有单位之间的转换率,简单题。
代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
 int i,T;
 double num;
 char d[5];
 scanf("%d",&T);
 for(i=1;i<=T;i++)
 {
  scanf("%lf%s",&num,d);
  //printf("num=%lf%s1\n",num,d);
  if(strcmp(d,"kg")==0)
  printf("%d %.4lflb\n",i,num*2.2046);
  else if(strcmp(d,"l")==0)
  printf("%d %.4lfg\n",i,num*0.2642);
  elseif(strcmp(d,"lb")==0)
  printf("%d %.4lfkg\n",i,num*0.4536);
  else
  printf("%d %.4lfl\n",i,num*3.7854);
 }
 return 0;
}
 
原创粉丝点击