题目如上,就是根据字母代表的值和其输入的位置计算出和,虽然写的非常非常麻烦(别骂了别骂了),但是真的不知道错在哪呀,救救孩子吧
#include<stdio.h>
#include<string.h>
void cal(char* p);
int main()
{
int i = 0;
char ch;
char str[100];
do{
scanf("%c",&ch);
if(ch != '\n')
{
str[i] = ch;
i++;
}
else
{
str[i] = ch;
i = 0;
cal(str);
}
}while(ch != '#');
return 0;
}
void cal(char* p)
{
int sum = 0;
int counter = 1;
while(*p != '\n')
{
if(*p != ' ' && *p - 'A' < 26 && *p - 'A' >= 0)
{
sum = sum + (*p - 'A' + 1) * counter;
p++;
counter++;
}
else
{
p++;
counter++;
}
}
printf("%d\n",sum);
}