请用C++语言帮我编写一个程序,实现以下要求:任意输入一串字符串,输出其中的不同字符及其个数。例如:输入 abcdefgabc ,输出为 a ->2.b->2, c ->2.d->1, e ->1.f->1, g ->1。
时间: 2024-05-09 19:14:47 浏览: 81
好的,请看下面的代码:
```c
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
int count[128] = {0}; // 用于记录每个字符出现的次数
printf("请输入一串字符串:");
scanf("%s", str);
int len = strlen(str);
for(int i = 0; i < len; i++)
{
count[(int)str[i]]++; // 统计每个字符出现的次数
}
printf("不同字符及其个数如下:\n");
for(int i = 0; i < 128; i++)
{
if(count[i] != 0)
{
printf("%c -> %d\n", i, count[i]); // 输出不同字符及其个数
}
}
return 0;
}
```
程序先让用户输入一串字符串,然后统计每个字符出现的次数,最后输出不同字符及其个数。其中,count数组用于记录每个字符出现的次数,128是ASCII字符集中字符的个数,因此数组的大小为128。
相关问题
用c++语言编写程序任意输入一串字符串,输出其中的不同字符及其个数。例如:输入abcdefgabc,输出为a->2,b->2,c->2,d->1,e->1,f->1,g->1。
好的,这是一个比较基础的字符串处理问题,可以使用数组来存储每个字符出现的次数。以下是使用 C 语言实现的程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int count[26] = {0}; // 存储每个字符出现的次数,因为只有小写字母,所以长度为 26
printf("请输入字符串(最大长度为 %d):", MAX_LEN);
scanf("%s", str);
int len = strlen(str);
for (int i = 0; i < len; i++) {
int index = str[i] - 'a'; // 计算当前字符在数组中的下标
count[index]++;
}
for (int i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c->%d,", i + 'a', count[i]); // 输出每个字符及其出现的次数
}
}
return 0;
}
```
在程序中,首先定义了一个长度为 `MAX_LEN` 的字符串 `str`,然后定义了一个长度为 26 的数组 `count`,用于存储每个字符出现的次数。接着,通过 `scanf` 函数读入一个字符串,用 `strlen` 函数获取字符串的长度,然后遍历每个字符,计算每个字符在数组中的下标,最后将对应的数组元素增加 1。最后,再次遍历数组,输出每个字符及其出现的次数。
编写一个程序,由用户输入一个任意字符串(长度小于 50),实现 将该字符串反序,并将原字符串与反序后的字符串拼接在一起(原字符串放在 前面,反序的字符串放在后面),在屏幕上输出拼接好的字符串。 比如:如果输入字符串:abcde,则输出字符串:abcdeedcba 用c++写,引用iostream库
好的,我可以帮你写一个 C++ 程序来实现这个功能。代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
cin >> str;
string reverse_str(str.rbegin(), str.rend());
string result = str + reverse_str;
cout << result << endl;
return 0;
}
```
代码解释:
1. 首先包含了 `iostream` 和 `string` 头文件。
2. 使用 `std` 命名空间,以简化代码。
3. 声明了一个字符串 `str`,并通过 `cin` 从用户输入中获取字符串。
4. 使用 `std::string` 的 `rbegin()` 和 `rend()` 方法,将 `str` 反序,存储在 `reverse_str` 变量中。
5. 将 `str` 和 `reverse_str` 拼接起来,存储在 `result` 变量中。
6. 使用 `cout` 将 `result` 输出到屏幕上。
希望这个程序能够帮到你!
阅读全文