注意使用sqrt、floor,pow等函数时,要指明参数的类型,,不然poj报编译错误
#include <iostream>
#include <cmath>using namespace std;
int acmPk(int mile,char clas){
int pk=0,tmp;
switch(clas){
case 'F':
pk=mile<<1;
break;
case 'B':
tmp=(int)floor((float)mile/2+0.5f);
pk=mile+tmp;
break;
case 'Y':
if(mile<=500)pk=500;
else pk=mile;
break;
default:break;
}
return pk;
}
int main()
{
char sta[20],tar[20],typ;
int dis,acpk=0;
while(1){
scanf("%s",sta);
if(sta[0]=='#'){break;}
if(sta[0]=='0'){
printf("%d\n",acpk);
acpk=0;
continue;
}
scanf("%s%d %c",tar,&dis,&typ);
acpk+=acmPk(dis,typ);
}
return 0;
}
本文介绍了一个简单的C++程序,用于根据飞行里程和会员等级计算ACM积分。该程序通过输入航班信息,包括起始地、目的地、里程数及会员类别,计算并累加每次飞行的积分。适用于初学者理解基本的条件判断和数值运算。
1186

被折叠的 条评论
为什么被折叠?



