这道题我使用一个长度为256的字符数组存储输入,然后令sum=0,从a[0]开始遍历,如果当前的a[i]是大写字母,则计算这个大写字母的ASCII码-64后乘i+1的值,将该值加到sum中,最后输出sum。
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int js(char a[]){ 5 int i=0,sum=0; 6 for(i=0;a[i]!='\0';i++){ 7 if(a[i]==' ') sum+=0;//如果a[i]为空格 8 else sum+=((int)a[i]-64)*(i+1); 9 } 10 return sum; 11 } 12 13 int main(void){ 14 char a[256],b; 15 int sum; 16 while(scanf("%[^\n]",a)==1){//读入一整行 17 if(a[0]=='#') break; 18 scanf("%c",&b);//读入换行符 19 sum=js(a); 20 printf("%d\n",sum); 21 } 22 return 0; 23 }