问题描述:定义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; }
- 1 回答
- 0 关注
- 1707 浏览
添加回答
举报
0/150
提交
取消