专栏文章

P13419

P13419题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miorkro8
此快照首次捕获于
2025/12/02 23:59
3 个月前
此快照最后确认于
2025/12/02 23:59
3 个月前
查看原文

题意简述

给定一个字符串,每个字母都对应一个数字,而计算时需将对应值 +1,求字符串每个字母的值的和。

简要思路

观察图片,我们注意到:A B C 对应 22,D E F 对应 33,G H I 对应 44,J K L 对应 55,M N O 对应 66,P Q R S 对应 77,T U V 对应 88,W X Y Z 对应 99
所以可以考虑用数组来存储每个对应的值,如下:
CPP
int s [30] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9} ; 
再将字母强制转换成数字就行了。

AC代码

CPP
#include <bits/stdc++.h>
#define int long long
using namespace std ;
int s [30] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9} ;
//存储对应字母的对应值
char a [20] ;
int len , ans ;
signed main () {
	ios::sync_with_stdio (false) ;
	cin.tie (NULL) ; cout.tie (NULL) ;
	cin >> a + 1 ;
	len = strlen (a + 1) ;
	for (int i = 1 ; i <= len ; i ++) 
		ans += s [a [i] - 'A'] + 1 ; //强制转换,要注意 +1
	cout << ans ;
	return 0 ;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...