飞花令游戏C语言代码,详细
时间: 2023-08-18 12:24:02 浏览: 61
好的,以下是飞花令游戏的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char sentence[100]; // 定义一个字符串数组,用于存储输入的句子
int i, j, len; // 定义两个循环变量和一个字符串长度变量
char ch; // 定义一个字符变量,用于存储用户输入的字母
int count = 0; // 定义一个计数器,用于记录符合要求的单词的个数
int flag = 0; // 定义一个标志变量,用于判断是否有符合要求的单词
printf("请输入一句话:");
fgets(sentence, 100, stdin); // 从标准输入读取一行字符串
printf("请输入一个字母:");
scanf("%c", &ch); // 从标准输入读取一个字符
len = strlen(sentence); // 获取字符串的长度
for (i = 0; i < len; i++) {
if (sentence[i] == ch) { // 如果当前字符等于用户输入的字母
flag = 1; // 将标志变量设为1
count++; // 计数器加一
// 输出符合要求的单词
for (j = i; j >= 0; j--) {
if (sentence[j] == ' ' || sentence[j] == ',' || sentence[j] == '.' || sentence[j] == '!' || sentence[j] == '?') {
printf("%.*s\n", i - j, sentence + j + 1);
break;
}
}
}
}
if (flag == 0) { // 如果没有符合要求的单词,则输出提示信息
printf("没有以%c开头的单词!\n", ch);
} else {
printf("共有%d个以%c开头的单词。\n", count, ch);
}
return 0;
}
```
程序执行过程如下:
1. 定义一个字符串数组 `sentence`,用于存储输入的句子。
2. 定义一个循环变量 `i`,用于遍历字符串。
3. 定义一个循环变量 `j`,用于遍历符合要求的单词。
4. 定义一个字符串长度变量 `len`,用于获取字符串的长度。
5. 定义一个字符变量 `ch`,用于存储用户输入的字母。
6. 定义一个计数器 `count`,用于记录符合要求的单词的个数。
7. 定义一个标志变量 `flag`,用于判断是否有符合要求的单词。
8. 使用 `fgets` 函数从标准输入读取一行字符串,并存储到 `sentence` 中。
9. 使用 `scanf` 函数从标准输入读取一个字符,并存储到 `ch` 中。
10. 获取字符串的长度,并使用循环遍历字符串。
11. 如果当前字符等于用户输入的字母,则将标志变量设为1,计数器加一,并输出符合要求的单词。
12. 在输出符合要求的单词时,使用了 `%.*s` 格式控制符,其中的 `.*` 表示输出指定长度的字符串,其后面的 `i - j` 表示输出的长度,`sentence + j + 1` 表示输出的字符串的起始地址。
13. 在最后输出符合要求的单词个数时,使用了 `%d` 和 `%c` 格式控制符,分别表示输出整数和字符。在输出时,使用了 `printf` 函数,其第一个参数为格式字符串,后面的参数为要输出的变量。
14. 在没有符合要求的单词时,输出提示信息。
15. 程序结束。
注意事项:
1. 在使用 `scanf` 函数读取字符时,需要在 `%c` 前面加一个空格,以吸收之前的回车符,否则会出现读取不到字符的情况。
2. 在循环遍历字符串时,需要注意判断字符串的边界,避免越界访问。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)