水题
题意分析:26个字母分别赋值1~26,让后与其所在的位置的乘积,加和。
代码:
#include<stdlib.h>
#include<string.h>
int main(){
int i,l,sum ,j,value[100];
char s[10000];
for(i='A',j=1;i<='Z';i++,j++)
value[i]=j; //A的ASCII码值是65,本来想利用这个,但是在空格是遇到问题,所以直接赋值。
value[' ']=0;
while(1)
{
sum=0;
gets(s);
if(strlen(s)==1&&s[0]=='#')
break;
l=strlen(s);
for(i=0;i<l;i++)
sum=sum+((i+1)*value[s[i]]);
printf("%d\n",sum);
}
//system("pause");
return 0;
}