用c语言编写函数:int max_pos(char str[]); 求出任意一字符串中ASCII值最大字符所在的位置,并用主函数测试之。(若存在多个最大字符,返回第一个最大字符的位置)
时间: 2023-11-22 09:55:30 浏览: 29
以下是用C语言编写的函数int max_pos(char str[]),可以求出任意一字符串中ASCII值最大字符所在的位置,并用主函数测试之:
```c
#include <stdio.h>
int max_pos(char str[]) {
int i, max = 0, pos = 0;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] > max) {
max = str[i];
pos = i;
}
}
return pos;
}
int main() {
char str[] = "Hello World!";
int pos = max_pos(str);
printf("The max character in \"%s\" is \'%c\' at position %d.\n", str, str[pos], pos);
return 0;
}
```
该函数首先定义了三个变量:i、max和pos,其中i用于遍历整个字符串,max用于记录当前找到的最大ASCII值,pos用于记录最大ASCII值的位置。
然后,使用for循环遍历整个字符串,如果当前字符的ASCII值大于max,则将max更新为当前字符的ASCII值,并将pos更新为当前位置i。
最后,返回pos作为最大字符所在的位置。
在主函数中,我们定义了一个字符串并调用max_pos函数,将返回的最大字符所在的位置存储在pos变量中,然后使用printf函数输出结果。
运行程序后,将输出以下结果:
```text
The max character in "Hello World!" is 'r' at position 8.
```
这表明,字符串"Hello World!"中ASCII值最大的字符是'r',它出现在第9个位置(从0开始计数)。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)