2016年1月15日 星期五

d086: 態度之重要的證明

內容 :
今天我們如果將a=1,b=2,c=3....以此類推下去,
將單字裏的每個文字依照上面規則轉換成數字再相加起來的話。
知識(KNOWLEDGE)只有96分,
努力(HARDWORK)只有98分,
但態度(ATTITUDE)卻是100分。

風台高中的Norton看到了上面的文章後並不相信,
他想把它們真的加起來看看,
以找到一個字可以反駁這個「態度最重要」的理論
但卻討厭換來換去的過程,
請幫他寫個程式方便他去做運算。
輸入說明 : 
輸入英文單字,大小寫不限,當輸入0的時候就結束程式。
長度最長為200個字。
請參照Sample Input。
輸出說明 : 
輸出將英文單字依照題目的規則轉換成數字後相加的結果,如果中間參雜怪異的符號,請輸出Fail;但是英文字母的大小寫並不會影響結果,也就是說A和a所代表的值是相同
的。請參照Sample Output。
範例輸入 : help
hardwork 
KNOWLEDGE 
aTtitUdE 
C++ 
0 
範例輸出:
98 
96 
100 
Fail 
提示 : 
標籤:
出處: 


import java.util.Scanner;

public class d086 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str=sc.next();
char[] ch=str.toCharArray();
int total=0;
boolean flag=true;
if(str.equals(String.valueOf('0'))) break;
for(int i=0;i<str.length();i++){
if(ch[i]>='a'&&ch[i]<='z'){
total+=ch[i]-96;
}
else if(ch[i]>='A'&&ch[i]<='Z'){
total+=ch[i]-64;
}
else{
flag=false;
}
}
if(flag)
   System.out.println(total);
else
System.out.println("Fail");
}
}
}

沒有留言:

張貼留言