[英]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(和英语)的新手,所以,如果你们中的任何人能给我一个继续的方法,我将不胜感激。
编辑:我相信我对我选择作为例子的短语不满意,所以我已经改变了它。
没有告诉你具体要写的代码,因为你是在寻求学术工作的帮助,你可以试试这个:
使用行的长度(如果我没记错的话, 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 = length of line
将导致运行时错误,但您是来学习的,我相信边做边学。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.