Quicksum_算法实现按顺序相加计算字符:字符串中,每个字符的位置与他所代表的数值乘积的和。
- c(i):第i个字符;
- value(c(i)):第i个字符所代表的数值
源代码:
- #include <iostream>
- #include <fstream>
- using namespace std;
- int main(int argc,char *argv[])
- {
- //ifstream cin("aaa.txt");//调试使用
- char ch;
- int i= 1;
- int sum = 0;
- while(cin.get(ch))
- {
- if(ch=='#')break; //遇到‘#’结束
- if(ch!='/n')
- {
- if(ch!=' ')sum=sum+i*(ch-64);//实现c(i)*value(c(i))
- i++;//下一个字符时i自增1;且c(i)=i;
- }
- if(ch=='/n')
- {
- cout<<sum<<endl;
- sum = 0;
- i=1;
- }
- }
- return 0;
- }
输出结果:
- input :
- ACD M
- BCD
- output:
- 84
- 20