请你编写一个删除字符串中空格的小程序。:#include<iostream> using namespace std; int main() { const int n=80; char code[n]; cin.getline(code,80); int i,k=0; cout<<"原文为:"<<code<<endl; // 请在此添加代码,实现删除空格 /********** Begin *********/ /********** End **********/ cout<<"密文为:"<<code<<endl; return 0; }
时间: 2023-06-29 13:14:36 浏览: 125
C#清除字符串内空格的方法
5星 · 资源好评率100%
删除字符串中的空格可以使用两个指针 `i` 和 `k`,其中 `i` 指向原字符串中的每个字符,`k` 指向新字符串中的位置。遇到空格时,指针 `i` 向后移动,指针 `k` 不动,不将空格加入新字符串中;否则,将字符复制到新字符串中,并同时移动两个指针。
具体实现如下:
```cpp
#include <iostream>
using namespace std;
int main() {
const int n = 80;
char code[n];
cin.getline(code, 80);
int i, k = 0;
cout << "原文为:" << code << endl;
// 删除空格
for (i = 0; code[i] != '\0'; i++) {
if (code[i] != ' ') { // 非空格字符
code[k++] = code[i]; // 复制到新字符串中
}
}
code[k] = '\0'; // 新字符串结尾添加'\0'
cout << "密文为:" << code << endl;
return 0;
}
```
其中,删除空格的过程通过遍历输入的字符串,判断其中的字符是否为空格,如果不是空格,则将其复制到新字符串中,并同时移动指针 `i` 和 `k`;否则,只移动指针 `i`,不将空格加入新字符串中。最后,将新字符串的结尾添加上 `\0`,表示字符串的结束。
阅读全文