【发布时间】:2021-08-24 07:52:45
【问题描述】:
我收到了一个任务,我必须将字符数组的第 5 个字符更改为 = 字符,然后将数组的其他元素向右移动,如下所示:I like fruit --> I lik=e fru=it .
我不知道如何在 = 字符之后移动元素。我正在考虑类似于简单排序的东西,但我无法想象如何切换以及哪些元素。请你帮帮我好吗?提前致谢!
到目前为止,我可以完成代码:
#include<cstring>
#include<fstream>
int main(){
char sentence[] = "I like fruit";
int length = strlen(sentence);
for(int i = 1; i < length; i++){
if(i % 5 == 0){
sentence[i] = '=';
}
}
std::cout << sentence << '\n';
return 0;
}
【问题讨论】:
-
sentence的大小是固定的,不能添加更多字符。你不使用std::string有什么原因吗? -
你必须就地做吗?
-
@463035818_is_not_a_number 它必须是一个 char 数组,遗憾的是我不能使用字符串 :( 我只是不小心把它留在那里,起初我想这样做,但后来在我的任务。让我纠正一下。另外,我在考虑一个动态 char 数组,是否可以使用它来进行移位?
-
考虑到
e frui是6 个字符,输出不应该是I lik=e fru=it之类的吗? -
请附上完整完整的作业或练习文本,以便我们了解所有可能的要求和限制。