用C++数组实现删除用户输入的字符串中的空白并输出,空白包括空格和Tab
时间: 2024-05-10 07:20:42 浏览: 91
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, 100, stdin); // 获取用户输入的字符串
int len = strlen(str); // 获取字符串长度
char new_str[len]; // 创建一个新的字符串数组,用于存储去除空白后的字符串
int j = 0; // 记录新字符串的下标
for (int i = 0; i < len; i++) {
if (str[i] != ' ' && str[i] != '\t') { // 如果不是空格或制表符
new_str[j] = str[i]; // 将该字符加入新字符串中
j++; // 新字符串下标加1
}
}
new_str[j] = '\0'; // 为新字符串添加结束符
printf("去除空白后的字符串为:%s", new_str); // 输出去除空白后的字符串
return 0;
}
```
相关问题
C++输入一串字符,分别输出其中字母字符,数字字符、空白字符和其它字符的个数,空格和 tab 都是空白; (练习使用循环和字符输入函数进行有控制的连续字符输入)
在C++中,你可以通过遍历输入的字符串并检查每个字符来统计字母、数字、空白字符和其他字符的数量。这里是一个简单的示例程序,它使用`std::cin`获取用户输入,并利用`isalpha()`、`isdigit()`和`isspace()`函数来判断字符类型:
```cpp
#include <iostream>
#include <cctype>
int main() {
std::string input;
std::cout << "请输入一串字符: ";
std::getline(std::cin, input); // 获取一行输入,包括空格
int alpha_count = 0, digit_count = 0, space_count = 0, other_count = 0;
for (char c : input) {
if (isalpha(c)) {
alpha_count++;
} else if (isdigit(c)) {
digit_count++;
} else if (isspace(c)) { // 包括空格和tab
space_count++;
} else {
other_count++;
}
}
std::cout << "字母字符的数量: " << alpha_count << "\n";
std::cout << "数字字符的数量: " << digit_count << "\n";
std::cout << "空白字符(包括空格和tab)的数量: " << space_count << "\n";
std::cout << "其他字符的数量: " << other_count << "\n";
return 0;
}
```
用C++代码写一个程序:求一个字符串中最长的连续出现的字符,输出该字符及其出现次数。字符串中无空白字符(空格、回车和tab),如果这样的字符不止一个,则输出出现最早的字符。
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
scanf("%s", str);
int len = strlen(str);
char maxChar = str[0];
int maxCount = 1;
int count = 1;
for (int i = 1; i < len; i++) {
if (str[i] == str[i - 1]) {
count++;
} else {
if (count > maxCount) {
maxChar = str[i - 1];
maxCount = count;
}
count = 1;
}
}
if (count > maxCount) {
maxChar = str[len - 1];
maxCount = count;
}
printf("%c %d\n", maxChar, maxCount);
return 0;
}
```
阅读全文