C++输入一个字符串,去掉这个字符串中出现次数最少的字符 例如: 输入:abcabbc 输出:bbb
2018-03-22 14:46
926 查看
统计字符的个数,记录出现最少的字符,然后再输出
#include <iostream>
using namespace std;
int main()
{
char str[100];
cin >> str;
// 统计字符大小
int count[256] = {0};
char *p = str;
while (*p != '\0')
{
count[*p]++;
p++;
}
// 记录出现最少的字符 出现的次数
int min = count[str[0]];
p = str+1;
while (*p != '\0')
{
if (min > count[*p])
min = count[*p];
p++;
}
// 输出
p = str;
while (*p != '\0')
{
if (min != count[*p])
cout << *p;
p++;
}
cout << endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
char str[100];
cin >> str;
// 统计字符大小
int count[256] = {0};
char *p = str;
while (*p != '\0')
{
count[*p]++;
p++;
}
// 记录出现最少的字符 出现的次数
int min = count[str[0]];
p = str+1;
while (*p != '\0')
{
if (min > count[*p])
min = count[*p];
p++;
}
// 输出
p = str;
while (*p != '\0')
{
if (min != count[*p])
cout << *p;
p++;
}
cout << endl;
return 0;
}
相关文章推荐
- 神州数码:输入一个字符串: (1)输出出现次数最少的字符 (2)删除出现 4000 次数最少的字符并输出字符串
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 在一个字符串中找到出现指定次数的字符,根据用户输入次数,打印出现次数为该次数的字符。如输入abaccedff及1,则输出:b e d 如输入abaccedff及2,则输出:a c f
- 通过键盘输入一个字符串,判断字符串中出现最多的字符并输出该字符和输出出现次数
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
- 题目:剔除一个字符中重复的字符,然后按ASCII码值从小到大排列。 例如,输入:abbcccddeeeffgghh 输出:abcdefgh 注意:1、剔除是整个字符串中重复的字符,而不是连续的字符 2
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 如何输出一个字符串中出现次数最少的第一个字符
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。
- 手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。
- 输入一个字符串: 例如:输入为:“*****A*B**C**DE**F****” 删除字符中间的*,即输出为*****ABCDEF****
- 22.数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
- 判断一个字符串中出现次数最多的字符,统计这个次数