標題:
態度之重要的證明
[打印本頁]
作者:
鄭繼威
時間:
2024-7-10 18:07
標題:
態度之重要的證明
今天我們如果將
a=1,b=2,c=3....以此類推下去
,
將單字裏的每個文字依照上面規則轉換成數字再相加起來的話。
知識(KNOWLEDGE)只有96分,
努力(HARDWORK)只有98分,
但態度(ATTITUDE)卻是100分。
風台高中的Norton看到了上面的文章後並不相信,
他想把它們真的加起來看看,
以找到一個字可以反駁這個「態度最重要」的理論
但卻討厭換來換去的過程,
請幫他寫個程式方便他去做運算
輸入說明
輸入英文單字,大小寫不限,當輸入0的時候就結束程式。
長度最長為200個字。
請參照Sample Input。
輸出說明
輸出將英文單字依照題目的規則轉
換成數字後相加的結果,如果中間參雜怪異的符號,請輸出Fail
;但是
英文字母的大小寫並不會影響結果
,也就是說
A和a所代表的值是相同
的。請參照Sample Output。
範例輸入 #1
hardwork
KNOWLEDGE
aTtitUdE
C++
0
範例輸出 #1
98
96
100
Fail
本帖隱藏的內容需要回復才可以瀏覽
作者:
李宗儒
時間:
2024-7-10 18:38
#include<bits/stdc++.h>
using namespace std;
vector<string> v;
int main()
{
cin.tie(0);//65-90
cin.sync_with_stdio(0);//97-122
string a="";
while(a!="0")
{
cin>>a;
int sum=0;
if(a[0]=='0')
break;
for(int i=0;i<a.size();i++)
{
if(a[i]<'A' or (a[i]>'Z' and a[i]<'a') or a[i]>'z')
{
// cout<<"Fail"<<endl;
// cout<<v.size()<<endl;
v.push_back("Fail");
sum=0;
break;
}
else
{
if(a[i]>'Z')
{
sum+=int(a[i]-32-64);
}
else
{
sum+=int(a[i]-64);
}
}
}
if(sum!=0)
{
// cout<<sum<<endl;
string s=to_string(sum);
// cout<<v.size()<<endl;
v.push_back(string(s));
}
}
// v.push_back("321");
for(int i=0;i<v.size();i++)
{
cout<<v[i]<<endl;
}
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2