C语言统计字符串字母频率
方法一:
#include<stdio.h> #include<string.h> int main() { char str[2000]; int i,num[256]={0};//必须初始化num数组。 printf("please input string\n"); scanf("%s",str); for(i=0;i<strlen(str);i++) num[str[i]]++; //巧用字符的ASCII数值,char类型和整形的思考。 for(i=0;i<256;i++) if(num[i]>0) printf("字符%c出现的频率为%d次\n",(char)i,num[i]); return 0; }

二、C语言实现库函数strlen()
#include<stdio.h> #include<string.h> int my_strlen(char *string) { int i=0; while(*string!='\0') { string++; i++; } return i; } int main() { printf("my_strlen(**)=%d\n",my_strlen("erwerwer")); return 0; }

三、递归实现my_strlen()
#include<stdio.h> int my_strlen(char *string) { if('\0'==*string) return 0;//'\0'写在前面,防止把==错误写成赋值“=”。本文就犯了这样的错误,一直得不到正确的结果,查了半天发现是等号误写成了赋值符号 return 1+my_strlen(string+1); } int main() { printf("my_strlen(**)=%d\n",my_strlen("erwerwer")); return 0; }

浙公网安备 33010602011771号