#include"stdio.h"
#include"string.h"
#include"stdlib.h"
int val[125];
//初始化val数组
void init(){
int i=65;
for(;i<91;i++){val[i] = i-64;}
for(i=97;i<123;i++){val[i] = i-96;}
}
//计算连续字符字数
int total(char *input,char nowChar,int *i){
int times=0;int length=strlen(input);
if(nowChar<='Z'&&nowChar>='A'){
nowChar -= 32;
times = 2;
}else{
times = 1;
}
for(i[0]=1;i[0]<length;i[0]++){
if(nowChar==input[i[0]]){times++;continue;}
if(nowChar==input[i[0]]+32){times+=2;continue;}
break;
}
return times;
}
//计算值和
int count(char *input){
int i = 0,res=0,iadd[1];
int length=strlen(input);
for(;i<length;i++){
char nowChar = input[i];
iadd[0]=0;
int times = total(&input[i],nowChar,iadd); //iadd 数组下标i向后iadd位
res += times*times*val[nowChar];
i+=iadd[0]-1;
}
return res;
}
int main(){
int T;
init();
scanf("%d",&T);
while(T--){
int res;
char input[10005];
scanf("%s",input);
printf("%d\n",count(input));
}
system("pause");
}
笔试1
最新推荐文章于 2023-03-25 22:23:18 发布