【问题描述】规定26个英文字符的能量值分别是1-26,键盘输入一个英文单词,输出它的能量值。字符不区分大小写。
【输入形式】在提示语后面输入一个单词
【输出形式】输出energy=计算值
【样例输入1】Input a word:Integrity
【样例输出1】energy=127
【样例输入2】Input a word:Upset
【样例输出2】energy=81
【样例说明】下划线上是输入输出的数据,其余是程序的提示信息
#include <stdio.h>
#include <string>
using namespace std;
#pragma warning(disable:4996)
int main()
{
int i;
int sum = 0;
char arrs[1000];
printf("Input a word:");
while (scanf("%s", &arrs) != EOF) {
sum = 0;
for (i = 0; i < strlen(arrs); i++) {
/// <summary>
/// a-z 的ascii码高于 A-Z
/// </summary>
/// <returns></returns>
if (arrs[i] > 'a') {
sum += arrs[i] - 'a' + 1;
}
else {
sum += arrs[i] - 'A' + 1;
}
}
printf("energy=%d\n", sum);
printf("Input a word:");
}
return 0;
}
程序运行结果:
Input a word:Integrity
energy=127
Input a word:Upset
energy=81
Input a word:
提供思路: 用字符串数组存储用户输入,把能量值存在一个数组中,拿到用户输入数组后 循环分别拿到每一个字符带到能量数组中取值出来。之后求和即可
程序主要是思路,有了思路,慢慢去写代码,慢慢能力就会提高,希望对你有帮助
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632