#include<stdio.h>
int main()
{
char str[200];
int i, sum= 0;
gets(str);
for (i = 0; str[i] != '\0'; i++) //当检测到字符串结尾的‘\0’时,循环结束
{
if (str[i] == 97 || str[i] == 100 || str[i] == 103 || str[i] == 106 || str[i] == 109 || str[i] == 112 || str[i] == 116 || str[i] == 119 || str[i] == ' ')
sum+= 1;
else if (str[i] == 98 || str[i] == 101 || str[i] == 104 || str[i] == 107 || str[i] == 110 || str[i] == 113 || str[i] == 117 || str[i] == 120)
sum+= 2;
else if (str[i] == 99 || str[i] == 102 || str[i] == 105 || str[i] == 108 || str[i] == 111 || str[i] == 114 || str[i] == 118 || str[i] == 121)
sum += 3;
else if (str[i] == 115 || str[i] == 122)
sum += 4;
}
printf("%d", sum);
return 0;
}
以下是这段 C 语言代码的思路:
一、整体流程
1. 定义一个字符数组 str 用于存储输入的字符串,以及一个整数变量 sum 用于累计分值,一个整数变量 i 用于循环计数。
2. 通过 gets(str) 获取用户输入的字符串。
3. 使用循环遍历输入的字符串,对每个字符进行判断,根据不同的字符情况给 sum 加上不同的分值。
4. 最后输出 sum 的值,即总分值。
二、具体步骤分析
1. 输入字符串:
- 使用 gets(str) 函数从用户那里获取一个字符串,并存储在字符数组 str 中。
2. 遍历字符串并计算分值:
- 使用 for (i = 0; str[i]!= '\0'; i++) 循环遍历字符串中的每个字符。只要当前字符不是字符串结束标志 '\0' ,就继续循环。
- 在循环内部,通过一系列的 if 语句对当前字符进行判断:
- 如果字符是 97 (小写字母 'a' )、 100 (小写字母 'd' )等特定字符或者是空格(这里用字符编码表示),就给 sum 加 1。
- 如果字符是 98 (小写字母 'b' )、 101 (小写字母 'e' )等特定字符,就给 sum 加 2。
- 如果字符是 99 (小写字母 'c' )、 102 (小写字母 'f' )等特定字符,就给 sum 加 3。
- 如果字符是 115 (小写字母 's' )、 122 (小写字母 'z' ),就给 sum 加 4。
3. 输出结果:
- 使用 printf("%d", sum) 输出计算得到的总分值 sum 。