C编程-字符移动问题
嘿,各位,有人能给我指一下这里的正确方向吗。。我正试图把一些角色转移到任意方向。我是C语言的新手,很难想象这里需要发生什么 这是我函数的结构,将在我的main中调用 如果文件是 ABCDEX ABCDEX ABCDEX ABCDEX 我需要像这样把X字符移过去, XABCDE XABCDE XABCDEC编程-字符移动问题,c,for-loop,char,move,C,For Loop,Char,Move,嘿,各位,有人能给我指一下这里的正确方向吗。。我正试图把一些角色转移到任意方向。我是C语言的新手,很难想象这里需要发生什么 这是我函数的结构,将在我的main中调用 如果文件是 ABCDEX ABCDEX ABCDEX ABCDEX 我需要像这样把X字符移过去, XABCDE XABCDE XABCDE XABCDE很难理解你的函数需要做什么 你必须把X移到左边吗?从数组的末尾开始,在n和n-1元素之间更改值。一个接一个..这是我理解您想要为每个字符串执行的操作 void shiftChar(c
XABCDE很难理解你的函数需要做什么
你必须把X移到左边吗?从数组的末尾开始,在n和n-1元素之间更改值。一个接一个..这是我理解您想要为每个字符串执行的操作
void shiftChar(char** text, int length, int height){
int i, j;
for ( i = 0; i< height ; i++ ) {
for (j = 0; j<length; j++){
if(text[i][j] == 'X'){
;
}
}
}
}
static inline void swap(char *x, char *y){
char tmp = *x;
*x = *y;
*y = tmp;
}
void shiftChar(char** text, int length, int height){
int i, j;
for(i = 0; i< height ; i++ ) {
for(j = 0; j<length; j++){
if(text[i][j] == 'X'){
int k;
for(k = j;k != 0; --k){//k != 0 && text[i][k-1]!='X' If the 'X' there is more than one
swap(&text[i][k-1], &text[i][k]);
}
}
}
}
}
仅用于..循环代码?我正在尝试移动文件中的一些字符,文件相关的东西在哪里?谁叫shiftChar?。用适当的细节提问。这是一个算法问题,你应该自己想出解决方案。提示:使用插入排序技术。文件中的所有内容都有固定模式吗?或者,您是在尝试将出现的每个单词中的给定字符向左或向右移动一个位置?谢谢,我将研究插入排序。我试图在文件中筛选一个字符的内容,将它们移到行的左边,在这种情况下,从上面的“length”开始。寻找像这样的算法,在伪代码中强调while。
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "ABCDX";
char tmp;
/* C99 for loop */
for(int i = strlen(str) - 2; i >= 0; i--)
{
tmp = str[i];
str[i] = str[i + 1];
str[i + 1] = tmp;
}
printf("%s\n", str);
return 0;
}