用C语言解决,输入三个字符中间用空格隔开,输出ASCLL码最大的那个字符
时间: 2024-10-19 07:02:21 浏览: 26
C语言实验输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这3个字符及其对应的ASCII码值。
5星 · 资源好评率100%
在C语言中,你可以通过接收用户输入、存储字符并比较它们的ASCII码值来找出最大的那个字符。下面是一个简单的程序示例:
```c
#include <stdio.h>
#include <ctype.h> // 引入ctype.h头文件,用于获取字符的ASCII码
int main() {
char input[4]; // 定义一个数组存储三个字符
printf("请输入三个字符,中间用空格隔开: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,fgets函数保留换行符
// 分割字符串并去掉末尾的换行符
input[strlen(input) - 1] = '\0'; // 假设输入的最后一个是'\n'
char* tokens[] = {input}; // 使用指针数组存储分割后的字符
char* token = strtok(tokens[0], " "); // 切割第一个字符
while (token != NULL) {
int max_ascii = (int)token[0]; // 初始化最大ASCII码为第一个字符
for (int i = 1; token[i] != '\0'; i++) {
if ((int)token[i] > max_ascii && isalnum(token[i])) { // 检查是否是字母或数字
max_ascii = (int)token[i];
}
}
printf("当前最大ASCII字符是:%c\n", max_ascii);
token = strtok(NULL, " "); // 获取下一个字符,直到结束
}
return 0;
}
```
在这个程序中,我们首先获取用户输入,然后使用`strtok`函数按照空格分割字符串,并遍历每个字符查找ASCII码最大的字符。注意这里使用了`isalnum`函数来检查字符是否为字母或数字。
阅读全文