为了账号安全,请及时绑定邮箱和手机立即绑定

不会做,能帮帮我吗

不会做,能帮帮我吗

C++
Chihiro咩咩 2016-10-11 21:47:58
问题描述:定义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
查看完整描述

1 回答

已采纳
?
MinRam

TA贡献87条经验 获得超24个赞

观察定义发现 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;
}

                                         

查看完整回答
反对 回复 2016-10-11
  • 1 回答
  • 0 关注
  • 1707 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信