删除字符串中出现次数最小的字符及书写字符串函数时的一个注意点
来源:互联网 发布:node forever 重启 编辑:程序博客网 时间:2024/06/05 08:00
void delete_least_num_char(char *src) //函数形参字符指针函数形参是字符串首地址
{
int i;
int j = 0;
int min_num;
int temp;
char *temp1 = src;
int charcount[26] = {0};
char min_num_char[26];
while(*src != '\0') //遍历字符串,计数26个英文字母在字
{ //符串中出现的次数
switch(*src)
{
case 'a':charcount['a' - 'a']++;break;
case 'b':charcount['b' - 'a']++;break;
case 'c':charcount['c' - 'a']++;break;
case 'd':charcount['d' - 'd']++;break;
case 'e':charcount['e' - 'a']++;break;
case 'f':charcount['f' - 'a']++;break;
case 'g':charcount['g' - 'a']++;break;
case 'h':charcount['h' - 'a']++;break;
case 'i':charcount['i' - 'a']++;break;
case 'j':charcount['j' - 'a']++;break;
case 'k':charcount['k' - 'a']++;break;
case 'l':charcount['l' - 'a']++;break;
case 'm':charcount['m' - 'a']++;break;
case 'n':charcount['n' - 'a']++;break;
case 'o':charcount['o' - 'a']++;break;
case 'p':charcount['p' - 'a']++;break;
case 'q':charcount['q' - 'a']++;break;
case 'r':charcount['r' - 'a']++;break;
case 's':charcount['s' - 'a']++;break;
case 't':charcount['t' - 'a']++;break;
case 'u':charcount['u' - 'a']++;break;
case 'v':charcount['v' - 'a']++;break;
case 'w':charcount['w' - 'a']++;break;
case 'x':charcount['x' - 'a']++;break;
case 'y':charcount['y' - 'a']++;break;
case 'z':charcount['z' - 'a']++;break;
}
src++;
}
for(i = 0;i < 26;i++)
{
if(charcount[i] != 0)
{
min_num = charcount[i];
break;
}
}
for(i = 0;i < 26;i++) //结合上一个for循环,确定字符串中出现最小次数字符的个数
{
if(charcount[i] != 0)
{
if(min_num > charcount[i])
{
min_num = charcount[i];
}
}
}
for(i = 0;i < 26;i++) //将出现最小次数的字符都放在一个字符数组min_num_char[26]中
{
if(charcount[i] == min_num)
{
min_num_char[j] = 'a' + i;
j++;
}
}
min_num_char[j] = '\0';
temp = j;
src = temp1;
for(i = 0;i < temp;i++) //遍历字符串,输出字符串中出现次数最少的字符
{
while(*src != '\0')
{
if(min_num_char[i] == *src)
{
delete_one_char(src); //删除一个字符串,即字符整体往前移一下
//这个是调用的自己写的一个子文件
}
else
{
src++;
}
}
src = temp1;
}
注意点:当两次遍历字符串的时候,第一次遍历完以后,这时候指向的地址是字符串结束符的位置,第二次再遍历的时候,要注意把指针再指向字符串首元素的地址。
- 删除字符串中出现次数最小的字符及书写字符串函数时的一个注意点
- 编写一个函数,删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。
- 删除一个字符串中出现次数最少的字符
- 删除一个字符串中出现次数最少的字符
- 删除一个字符串中出现次数最少的字符
- 函数、数组区别以及函数注意点和回调函数,以及删除字符串中出现次数最少的字符的程序
- 算法分析---删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- HWOJ 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ 删除字符串中出现次数最少的字符
- (java)删除字符串中出现次数最少的字符
- python 关于 #!/usr/bin/env python 与 #!/usr/bin/python的区别
- DS18B20温度传感器
- 分代垃圾回收
- Laravel中间件
- 典型配置
- 删除字符串中出现次数最小的字符及书写字符串函数时的一个注意点
- C++11新特性——容器相关(三)tuple
- oc中的一些常用方法
- 新一代的垃圾回收算法
- Python的APScheduler模块
- make menuconfig --资料查阅
- 我对MVC分层的理解
- POJ1416 切纸片 (DFS
- 判别手机系统是ios还是android