1 #include <stdio.h> 2 #include <string.h> 3 4 //逆序排列 5 void invertSort(char str[], int len) 6 { 7 printf("逆序排列 : ") ; 8 for(int i = len-1 ; i >= 0 ; i--) 9 { 10 printf("%c", str[i]) ; 11 } 12 printf("\n") ; 13 } 14 15 //找出出现次数最多字符 16 void countTimes(char str[], int len) 17 { 18 int times = 0 ;//字符出现次数 19 char character ;//出现次数最多的字符 20 int temp = 0 ; 21 //将字符串中的每一个字符逐一比较,若重复则次数加1 22 for( int i = 0 ; i < len ; i++) 23 { 24 for( int j = 0 ; j < len ; j++) 25 { 26 if(str[i] == str[j]) 27 times++ ; 28 } 29 if(times > temp) 30 { 31 temp = times ; 32 character = str[i] ; 33 } 34 times = 0 ;//每统计完字符串的一个字符出现的次数之后都要归0,方便下一次字符次数统计 35 } 36 printf("出现次数最多的字符是%c\n次数是%d", character, temp) ; 37 } 38 39 int main(void) 40 { 41 char arr[999] ; 42 printf("Please input your data : \n") ; 43 gets(arr) ; 44 int n = strlen(arr) ; 45 invertSort(arr, n) ; 46 countTimes(arr, n) ; 47 return 0; 48 }
需要注意:
puts函数
调用方式:puts(s);其中s为字符串字符(字符串数组名或字符串指针)。
将字符串输出到终端,puts函数一次只能输出一个字符串,字符串中可以包括转义字符。
gets函数
gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。