【九度OJ】1484【模拟】【C实现】【北大2012】

需要注意的就是一些字符串处理方法(strcpy,strcmp)以及四舍五入的方法(加上0.5再强制转换类型),还有,如果跳出while(1)循环

英文题只是阅读麻烦一些,做起来反而很简单,加油~

代码:

/*
by qr jobdu 1484 2014-9-20
*/

#include <stdio.h>
#include <string.h>

int main(){
	char str[100];
	char flag[5][2]={"#","F","B","Y","0"};//初始化字符串 直接初始化  (strcpy 复制)

	while(1){
		scanf("%s",&str);  //地点1 或者 #
		if(strcmp(str,flag[0])==0){
			break;
		}
	
		int sum=0;

		while(1){
			scanf("%s",&str);   //地点2	

			int miles;
			scanf("%d",&miles);  //mile数

			scanf("%s",&str);  //种类

			if(strcmp(str,flag[1])==0){ //F
				sum=sum+2*miles;
			}else if(strcmp(str,flag[2])==0){ //B
				sum=sum+miles;
				double temp=(double)miles/2;//先转变为double,否则为整除
				temp=temp+0.5;
				sum=sum+(int)temp;
			}else if(strcmp(str,flag[3])==0){ //Y;
				if(miles>500)
					sum=sum+miles;
				else 
					sum=sum+500;
			}
	
			scanf("%s",&str);  //地点1
			if(strcmp(str,flag[4])==0){
				printf("%d\n",sum);
				break;
			}
		}
	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值