不会做,能帮帮我吗

问题描述:

定义f(A)=1,f(a)=-1,f(B)=2,f(b)=-2,...f(Z)=26,f(z)=-26;
给定一个字母x和一个整数y,求表达式f(x)+y的值。

输入:

输入数据包括一个字母x和一个整数y,数据之间有一个空格。

输出:

在单独的一行中给出f(x)+y的值。

输入样例:R 1

输出样例:19

Chihiro咩咩
浏览 1708回答 1
1回答

MinRam

观察定义发现 f(字母)= 1.当字母为大写,值为正数;    当字母为小写,值为负数;2.值的绝对值=字母的序号(1-26);所以代码(c++)如下#include<iostream> int F(const char & n){     //参数是用了c++的引用     if(n >= 'a' && n <= 'z')  //当字符n为小写时候         return -(n-'a'+1);     if(n >= 'A' && n<='Z')    //当字符n为大写时候         return n-'A'+1; } int main(void){ char c; int n; std::cin>>c>>n; std::cout<<F(c)+n; return 0; }                                         
打开App,查看更多内容
随时随地看视频慕课网APP