【发布时间】:2015-12-27 16:04:18
【问题描述】:
我必须在用户输入的字符串中一次移动一个字符。 在每次迭代中,程序将字符从当前位置循环向右移动。即第一个字符移到第二位,第二个字符移到第三位,依此类推。最后一个字符移动到第 1 位。移动字符后,程序还必须在每次迭代中打印新字符串。迭代一直持续到原始字符串被取回。
例如用户输入字符串:'cat'
第一次迭代后字符串为:'tca'
第二次迭代后字符串为:'atc'
第三次迭代:'cat'(与程序完成相同)
我写了一个反转整个字符串的代码。但是,我真的不知道如何一次移动一个角色。代码如下:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
main ()
{
char word[20];
printf("enter word:");
int d,i;
scanf("%s",&word);
d = strlen(word);
for(i=d-1; i >= 0; i--)
printf("%c",word[i]);
}
【问题讨论】:
-
欢迎来到 SO。似乎你在混淆一些东西,你展示的是 C 而不是 C++。请编辑问题并更改标签。