int main()//求字符出现的次数 { char ch[]="!sfsajfjlwekjewiwkl@@#$%#%^^*&^*()*&(^*%&$^#1"; unsigned long len=strlen(ch); //定义整形数组存放有可能出现的字符出现的次数 int arr[200]={0}; for(int i=0;i<len;i++){ // 把字符串每个字符取出 - 33 如有重复加1; char ch1 = ch[i]; arr[ch1 - 33]++; //现在arr数组中存的就是每个字符出现的次数 } for(int i =0;i<95; i++){ //过滤掉没有出现的字符 打印 if(arr[i]>0) printf("%c出现了%d次\n",i+33,arr[i]); } |