您的位置:首页 > 其它

poj3094

2013-09-10 23:25 148 查看
水题

题意分析: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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: