本题要求编写函数,将输入字符串的前3个字符移到最后。 函数接口定义: void shift( char s[] ); 其中char s[]是用户传入的字符串,题目保证其长度不小于3;函数shift须将按照要求变换后的字符串仍然存在s[]里。
时间: 2023-04-22 14:04:03 浏览: 182
好的,以下是函数shift的中文实现:
```c++
void shift(char s[]) {
// 将前3个字符存储到一个临时数组中
char temp[3];
for (int i = 0; i < 3; i++) {
temp[i] = s[i];
}
// 将剩余的字符往前移动3个位置
for (int i = 0; s[i + 3] != '\0'; i++) {
s[i] = s[i + 3];
}
// 将临时数组中存储的字符放到末尾3个位置上
for (int i = 0; i < 3; i++) {
s[strlen(s) - 3 + i] = temp[i];
}
}
```
这个函数首先将输入字符串的前3个字符存储到一个临时数组中,然后将剩余的字符往前移动3个位置,最后将临时数组中存储的字符放到末尾3个位置上,从而实现了将输入字符串的前3个字符移到最后的功能。
相关问题
题要求编写函数,将输入字符串的前3个字符移到最后。 函数接口定义: void Shift( char s[] ); 其中char s[]是用户传入的字符串,题目保证其长度不小于3;函数Shift须将按照要求变换后的字符串仍然存在s[]里。
void Shift(char s[]) {
char temp = s[0];
for (int i = 0; i < strlen(s) - 1; i++) {
s[i] = s[i + 1];
}
s[strlen(s) - 1] = temp;
temp = s[0];
for (int i = 0; i < strlen(s) - 1; i++) {
s[i] = s[i + 1];
}
s[strlen(s) - 1] = temp;
temp = s[0];
for (int i = 0; i < strlen(s) - 1; i++) {
s[i] = s[i + 1];
}
s[strlen(s) - 1] = temp;
}
本题要求编写函数,将输入字符串的前三个字符移到最后。 函数接口定义: void Shift( char s[] ); 其中char s[],是用户传入的字符串,题目保证其长度不小于三;函数shift须将按照要求变换后的字符串仍然在[]里。 输入样例 abcdef 输出阳 defabc
好的,我明白了。以下是回答:
void Shift(char s[]) {
char temp = s[0];
for(int i = 0; i < strlen(s)-1; i++) {
s[i] = s[i+1];
}
s[strlen(s)-1] = temp;
}
阅读全文