天天看點

程式設計練習:數數小綿羊數數小綿羊

數數小綿羊

人與龍和諧相處的博克島上正在舉辦喜羊羊版的魁地奇(魁地奇是《哈利·波特》系列中重要的空中團隊對抗運動 Quidditch的中文譯名,是魔法世界中由巫師們騎着飛天掃帚參加的球類比賽),龍騎士們通過抓羊和把羊投入籃筐來得分,如果能抓到皮膚黝黑的沸羊羊還能獲得額外的分數獎勵。

現在有 喜洋洋、美羊羊、沸羊羊、懶羊羊、慢羊羊五種羊。分别代表得分:5分、8分、10分、15分、20分。但是如果一支隊伍抓到的羊的數目大于等于10,并且有抓到沸羊羊,那麼該隻隊伍得分增加50。

身為年輕英勇的維京勇士小嗝嗝的你,雖然你沒有參加這場比賽,但你能幫助你的Girl Friend阿絲翠德數一數她們隊一共得了幾分嗎?

Input:

有多組資料測試,直到EOF。

第一行輸入n ,代表接下來有n行輸入,分表代表抓到的n隻羊的名字。為了友善, 取“Pleasant goat”代表喜洋洋,取“Pretty goat”代表美羊羊,取“Athletic goat”代表沸羊羊,取“Lazy goat”代表懶羊羊,取“Slow goat”代表慢羊羊。1< n <= 10 ^ 4。

Output:

對于每組測試,輸出“Case #k: ”,首先,k從1開始标号。

輸出阿絲翠德她們隊伍每次的總得分。

Sample Input:

5
Pleasant goat
Pretty goat
Athletic goat
Lazy goat
Slow goat
10
Pleasant goat
Pretty goat
Pleasant goat
Pretty goat
Pleasant goat
Pretty goat
Pleasant goat
Pretty goat
Athletic goat
Lazy goat
           

Sample Output:

Case #1: 58
Case #2: 127
           

解題思路:這題沒啥好說的,浙工商oj的題目背景真的是......

代碼:

#include<stdio.h>
#include<string.h>
int main(){
	int n;
	int k=0;
	while(scanf("%d",&n)!=EOF){
		k++;              //統計第幾組資料 
		int number=n;     //記錄下總共捉了幾隻羊 
		int sum=0;        //統計得分 
		int flag=0;       //判斷是否抓到了沸羊羊   
		while(n--){
			char a[50];
			scanf("%s goat",a);
			if(strcmp(a,"Pleasant")==0) 
			sum=sum+5;
			else if(strcmp(a,"Pretty")==0)
			sum=sum+8;
			else if(strcmp(a,"Athletic")==0){
				sum=sum+10;
				flag=1;
			} 
			else if(strcmp(a,"Lazy")==0)
			sum=sum+15; 
			else
			sum=sum+20;
		} 
		if(number>=10&&flag==1)
			sum=sum+50;
	     printf("Case #%d: %d\n",k,sum);
	}
} 
           

繼續閱讀