代码+思路
2024-11-10 22:43:23
发布于:江苏
4阅读
0回复
0点赞
回到题目
这道题要在字符串中找到相应字符a,e,i,o,u的出现次数并乘以他们的权值,最后把这些结果相加并输出。这里每一个字符的权值的最大值是两倍的int类型的范围,所以变量要定义成long long类型的。
#include <iostream>
#include <cstdio>
using namespace std;
string str;
long long n[5],w,s;
int main()
{
cin >> str;
for (int i=0; i<str.size(); i++)
{
if (str[i]=='a') n[0]++;
else if (str[i]=='e') n[1]++;
else if (str[i]=='i') n[2]++;
else if (str[i]=='o') n[3]++;
else if (str[i]=='u') n[4]++;
}
for (int i=0; i<5; i++)
{
scanf("%d",&w);//记录每一个字符的权值
s+=w*n[i];
}
printf("%lld",s);
return 0;
}
这里空空如也
有帮助,赞一个