编写C程序,题目:如果令A、B、C、D······Z分别等于1,2······26个数值,计算百分比(看补充)

2024-12-31 07:19:01
推荐回答(3个)
回答1:

首先这个很好弄

我只说步骤,不写,具体自己测试

  1. 声明一个字符串str来接受HARD WORK等字符串

  2. 循环遍历每个字母(去除空格符号等),转换字母到大写,

  3. 用当前字母减去64,然后各个值相加,最后除以100

  4. 完毕

回答2:

这破题目我是没看出怎么就是个比值,如果一个单词比较长,那就是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;
}

回答3:

#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;
}