c++语言将字符串逆序输出,C++实现字符串删除字符后逆序输出
本文实例为大家分享了C++实现字符串删除字符后逆序输出的具体代码,供大家参考,具体内容如下
输入若干个字符串,和一个英文字符ch。 要求删除每个字符串中的字符ch(区分大小写),得到新的字符串,然后将新的字符串按照字典逆序排序后输出
(每个字符串的长度不超过30个字符,字符串总数不超过30)
输入:
3
abcddc
sxwcdez
ncvccvd
c
输出:
sxwdez
nvvd
abdd
C++实现:(适用于初学者)
#include
#include
using namespace std;
void sort_array(char s[][30], int n);
void removing(char s[][30], int n, char ch);
int main() {
int n, i;
char s[30][30] = {0};
char ch;
cout << "input the number of strings:" << endl;
cin >> n;
cin.get();//注意要把/n从输入流中去除
for (i = 0; i < n; ++i) {
cout << "input the NO." << i + 1 << " string:" << endl;
cin.getline(s[i], 30);
}
cout << "input ch:" << endl;
ch = cin.get();
removing(s, n, ch);
sort_array(s, n);
for (i = 0; i < n; ++i) {
cout << s[i] << endl;//二维字符串数组可以通过这种方式直接输出
}
return 0;
}
void sort_array(char s[][30], int n) {
int i, j, k, temp;
for (j = 0; j < n - 1; ++j) {
bool sort_flag = false;
//相当于一个冒泡排序,这里排序使用了strcmp
for (i = 0; i < n - j - 1; ++i) {
char str_temp[30] = {0};
temp = strcmp(s[i], s[i + 1]);
if (temp >= 0)continue;
if (temp < 0) {
for (k = 0; k < 30; ++k) {
str_temp[k] = s[i][k];
}
for (k = 0; k < 30; ++k) {
s[i][k] = s[i + 1][k];
}
for (k = 0; k < 30; ++k) {
s[i + 1][k] = str_temp[k];
}
sort_flag = true;
}
}
if (!sort_flag) {
break;
}
}
}
void removing(char s[][30], int n, char ch) {
bool flag = false;
int i, j, k;
for (i = 0; i < n; ++i) {
for (j = 0; s[i][j] != '\0'; ++j) {
if (s[i][j] == ch) {
flag = true;
//去除字符后把后面的往前面移动一位
for (k = j; s[i][k] != '\0'; ++k) {
s[i][k] = s[i][k + 1];
}
} else { flag = false; }
if (flag) { j -= 1; }
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
c++语言将字符串逆序输出,C++实现字符串删除字符后逆序输出相关推荐
- 字符串处理 —— 回文串相关 —— 添加/删除字符后是否为回文串
[问题] 给定一个字符串,问对该字符串,是否能通过添加一个字符后变为回文串. 若可以,输出 YES,否则输出 NO 对于该问题,首先要明白,删除一个字符与添加一个字符在判断回文串中是等价的. [暴力枚 ...
- IO流:输入字节流:InputStream 、 输出字节流:OutputStream 、输入字符流:Reader 、输出字符流:Writer、 BufferedInputStream
## 1_ IO流的介绍及其分类 * IO流: * I: Input 输入 * O: Output 输出 ...
- 从键盘输入一个字符,如果是小写字母,则将其转换成大写字母输出;如果是大写字母,则将其转换成小写字母输出;如果是其它字符,则原样输出。
#include<stdio.h> int main() { char c1; printf("请输入一个字符\n"); scanf(" ...
- ACMNO.27 Python的两行代码解决 C语言-字符逆序 写一函数。使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。 输入 一行字符 输出 逆序后的字符串
题目描述 写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串. 输入 一行字符 输出 逆序后的字符串 样例输入 123456abcdef 样例输出 fedcba654321 来源 ...
- c语言将一个四位正整数倒排,输入一个四位正整数,将其逆序输出.如:输入1234,输出4321...
编写一个函数fun(n),求任意4位正整数的逆序数. intfun(intn){inta=n,b=0;while(a>0){b=b*10;b=b+a%10;a=a/10;}printf(&quo ...
- C语言:给一个不多于5位的正整数,要求:求出他是几位数分别输出每一位数字,按逆序输出各位数字,例如原数为321,应输出123
往期回顾: 求Sn=a+aa+aaa+aaaa+...n个a ,a是数字 ,n表示a的位数 C语言:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.排出比赛名单 C语言:杨 ...
- Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;
目录 一.实现两个字符串数组的逆序排序,输出结果为字符串数组 解题思路: 具体代码: 运行截图: 二.求两个整形数组的交集 具体代码: 运行截图: 三.求两个浮点型数组的并集 解题思路: 具体代码: ...
- 将123用c语言倒序输出,C语言输入一个正整数n,将其逆序输出。例如输入123,则程序将输出321...
include main() { int x,b0,b1,b2,s;printf("inputx:");scanf("%d",&x);b2=x/100; ...
- c语言逆序输出6A8F,【C语言】将二进制数逆序输出。比如6为000...0110,逆序后为0110....
//将二进制数逆序输出.比如6为000...0110,逆序后为0110...000#include unsigned int reverse_bit(int num){int i;int bit;un ...
最新文章
- 《Ray Tracing in One Weekend》、《Ray Tracing from the Ground Up》读后感以及光线追踪学习推荐...
- python常见的数据类型_Python常见数据类型及操作
- 计算机视觉开源库OpenCV之绘制轮廓函数cv2.drawContours()介绍
- 微软服务器在电脑上怎么打开,怎么在一个电脑上开启服务器可以让另外一台电脑连接服...
- shell 随机生成10个数,找出最大值
- PS/2键盘鼠标接口各针脚定义
- .NET中栈和堆的比较1
- HTTP和HTTPS的理解
- mysql基础语法之(全文索引)
- 简单的VB进度条程序
- arcgis制作土地利用转移矩阵
- 易了千明之易语言套装视频教程第四套辅助制作
- uni-app运行到微信开发工具无法预览
- amap和amapcrap使用
- c语言正弦波程序_怎样很好的恢复一个正弦波信号
- 计算机网络期末考试试题,计算机网络期末考试题库.docx
- 软文发稿推广要怎么做?
- 【解救Ros】CLB的Ros小车imu校正,角速度校正,线速度校正过程
- 性能测试报告(方案)模板
- 基于Matlab的开环Buck降压斩波电路Simulink仿真电路模型搭建
热门文章
- LeNet5论文解读
- 实验二 简单网络命令和wireshark捕获FTP用户名密码
- 常用国内pip镜像源
- 路径规划算法(0) -路径规划与 Dubins, Reeds-Shepp曲线的python实现
- Java实现物理分页和逻辑分页
- 51单片机-8段四位数码管
- 用Arduino玩转掌控板(ESP32):不到100行代码实现Siri语音控制 → WebServer应用示例...
- win11:开始菜单打不开
- 用了国产接口管理神器 Apifox 之后,我果断从 Postman “脱坑”了
- Python在线聊天软件(Tkinter)