首先这个很好弄
我只说步骤,不写,具体自己测试
声明一个字符串str来接受HARD WORK等字符串
循环遍历每个字母(去除空格符号等),转换字母到大写,
用当前字母减去64,然后各个值相加,最后除以100
完毕
这破题目我是没看出怎么就是个比值,如果一个单词比较长,那就是100多了
下面给个算法,返回%前面的那个整数,使用的时候直接用printf输出fun("MONEY")的值就行了:
int fun(const char *str)
{
int sum = 0;
while (*str)
{
if (*str >= 'A' && *str <= 'Z')
sum += *str - 'A' + 1;
++str;
}
return sum;
}
#include
int num( char *s )
{
int sum=0;
while( *s )
{
if ( *s >='A' && *s <='Z' )
sum += *s-'A'+1 ;
s++;
}
return sum;
}
int main()
{
char s[100];
gets(s);
printf("%s=%d%%\n", s, num(s) );
return 0;
}