問(wèn)題描述:定義f(A)=1,f(a)=-1,f(B)=2,f(b)=-2,...f(Z)=26,f(z)=-26;
給定一個(gè)字母x和一個(gè)整數(shù)y,求表達(dá)式f(x)+y的值。輸入:輸入數(shù)據(jù)包括一個(gè)字母x和一個(gè)整數(shù)y,數(shù)據(jù)之間有一個(gè)空格。輸出:在單獨(dú)的一行中給出f(x)+y的值。輸入樣例:R 1輸出樣例:19
1 回答
已采納

MinRam
TA貢獻(xiàn)87條經(jīng)驗(yàn) 獲得超24個(gè)贊
觀察定義發(fā)現(xiàn) f(字母)=
?1.當(dāng)字母為大寫(xiě),值為正數(shù);?
? ?當(dāng)字母為小寫(xiě),值為負(fù)數(shù);
2.值的絕對(duì)值=字母的序號(hào)(1-26);
所以代碼(c++)如下
#include<iostream> int?F(const?char?&?n){?????//參數(shù)是用了c++的引用 ????if(n?>=?'a'?&&?n?<=?'z')??//當(dāng)字符n為小寫(xiě)時(shí)候 ????????return?-(n-'a'+1); ????if(n?>=?'A'?&&?n<='Z')????//當(dāng)字符n為大寫(xiě)時(shí)候 ????????return?n-'A'+1; } int?main(void){ char?c; int?n; std::cin>>c>>n; std::cout<<F(c)+n; return?0; }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
- 1 回答
- 0 關(guān)注
- 1781 瀏覽
添加回答
舉報(bào)
0/150
提交
取消