将一个短语颠倒过来,用c写得很奇怪

将一个短语颠倒过来,用c写得很奇怪,c,C,我的编程老师发了一些练习,而这一次我不知道如何解决它 在他的例子中,他要求:编写一个程序,获得一个短语或一个单词,将其向后翻转,然后以奇怪的方式编写 我试着用短语“ABCDE”把它倒过来写,然后从中间开始写 最后,他想要的是:CBAED 到目前为止,我所掌握的只是短语/单词的倒转,比如:EDCBA 这是我目前的代码: #include <stdio.h> void inverter(); int main(){ printf("sentence to revert: ")

我的编程老师发了一些练习,而这一次我不知道如何解决它

在他的例子中,他要求:编写一个程序,获得一个短语或一个单词,将其向后翻转,然后以奇怪的方式编写

我试着用短语“ABCDE”把它倒过来写,然后从中间开始写

最后,他想要的是:CBAED

到目前为止,我所掌握的只是短语/单词的倒转,比如:EDCBA

这是我目前的代码:

#include <stdio.h>

void inverter();
int main(){

    printf("sentence to revert: "); 
    inverter();
    return 0;
}

void inverter(){

    char letra;
    scanf("%c",&letra);
    if( letra != '\n'){

        inverter();
        printf("%c",letra);
    }
}
#包括
无效逆变器();
int main(){
printf(“要还原的句子:”);
逆变器();
返回0;
}
无效逆变器(){
查莱特拉;
scanf(“%c”和“letra”);
如果(letra!='\n'){
逆变器();
printf(“%c”,letra);
}
}
正如你们所看到的,我是C语言(和英语)的新手,所以,如果你们中有人能给我一个继续的方法,我将不胜感激


编辑:我相信我不喜欢我选择的短语作为示例,因此我对其进行了更改。

没有告诉您要编写的代码,因为您正在寻求学术工作方面的帮助,您可以尝试以下方法:

  • 读一行文字
  • 使用行的长度(
    scanf
    返回一个int,如果我没有弄错的话,返回读取的字符数),向后循环,一次打印每个字符。
    要尝试的内容如下:

     //This is pseudocode. Do not copy/paste
     for(int i = length of line; i > 0; i--) {
         print out line[i];
     }
    
  • 然后将长度除以2,反向运行两个循环,一个从中间开始:

    //This is Psuedocode. Do not copy/paste
    for(int i = middle of line; i > 0; i--) {
        print out line[i];
    }
    
    然后在结尾处开始另一个:

    //This is Pseudocode. Do not copy/paste
    for(int i = length of line; i > middle of line; i--) {
        print out line[i];
    }
    
  • 利润

  • 显然,你必须在这里和那里调整一些事情。例如,
    i=行的长度
    将导致运行时错误,但您是来学习的,我相信边做边学。

    什么是
    Reverse()
    ?它应该是
    逆变器()
    ?最终输出可能是本次写入。很难说你的老师想要什么。天气,它的反相器,抱歉。R Sahu,他希望新的句子从中间开始,向后跑,在中间结束,比如你好,就是LoHOL。我的英语不是很好,所以解释我想要的东西有点困难,我希望你这次能理解。但是你的代码没有任何作用——它会回显每个字符。你对我们有什么要求?非常感谢乔尔,这是我一直在寻找的光明,我一回到家就会努力实现这个想法。没问题。我曾经和你一样,对C完全陌生,所以我不知道该怎么办。我发现用纸和墨水一次写一句话,准确地写下你想让程序做什么很有帮助。然后筛选句子,寻找计算所需的信息。这些可能是你的变量。如果您多次执行某些操作,则可能是循环或函数。每个句子都应该很容易翻译成代码。像那样把它分解会更容易。反复这样做,直到它自然出现。你很快就会解决更复杂的问题。“如果我没弄错的话,scanf返回一个包含读取字符数的int”是一个错误
    scanf()
    名义上返回成功扫描的字段数。这就是为什么我使用伪代码,因为我记不起来了