繁体   English   中英

反转一个短语并用c奇怪地写它

[英]Inverting a phrase and write it weirdly with c

我的编程老师已经发送了一些练习练习,而这个我不知道解决它的方法。

在他的例子中,他问:写一个程序,得到一个短语或一个词,把它倒过来,然后写得很奇怪。

我正在尝试使用短语“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);
    }
}

正如你们所看到的,我是 C(和英语)的新手,所以,如果你们中的任何人能给我一个继续的方法,我将不胜感激。

编辑:我相信我对我选择作为例子的短语不满意,所以我已经改变了它。

没有告诉你具体要写的代码,因为你是在寻求学术工作的帮助,你可以试试这个:

  1. 阅读一行文字。
  2. 使用行的长度(如果我没记错的话, scanf返回一个带有读取的字符数的 int ),向后循环,一次打印每个字符。
    可以尝试的东西是这样的:

     //This is pseudocode. Do not copy/paste for(int i = length of line; i > 0; i--) { print out line[i]; }
  3. 然后将长度除以 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]; }
  4. ???
  5. 利润

显然,您将不得不在这里和那里调整一些东西。 例如, i = length of line将导致运行时错误,但您是来学习的,我相信边做边学。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM