gpt4 book ai didi

C 程序 : How to print a string like this. ..?

转载 作者:行者123 更新时间:2023-11-30 19:41:26 26 4
gpt4 key购买 nike

如果我的输入是:功能区输出将是:

  rn
rion
ribbon

或者如果我的输入是:harry

  hy
hary
harry

它应该看起来像文本动画,并且文本应该一个接一个地出现(正面和背面的字母应该首先出现)。

这是我的代码,但它似乎不起作用,因为它有错误的输出。

#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main () {
char input[10];
int front, back;
int n; //counter

n = strlen(input);

printf ("input\n");
fgets (input, sizeof (input), stdin);

for (front=0,back=n-1; front<=((n-1)/2)||back>=(((n-1)/2)+1);front++,back--) {
if (front==0||back&&(n-1)) {
printf ("%c",input[front]);
printf ("%c", input[back]);
front++;
back--;
usleep (500000);
}
else {
if (front<=((n-1)/2)||back>=(((n-1)/2)+1)) {
front++;
back --;
}
else if (front==n) {
printf ("%c\n", input[front]);
printf ("%c\n", input[back]);
}
}
}
return 0;
}

最佳答案

有一个主要问题:您试图在接收任何输入之前确定输入的长度。

所以像这样切换行:

printf ("input\n");
fgets (input, sizeof (input), stdin);
n = strlen(input);

那么你的 for 循环...为什么如此繁重的测试,不会

for ( front = 0, back = n-1; front < back; ++front, --back)

足够了吗?

最后:剩下的代码。请再考虑一下。您想要:

  • 打印从开头到front的所有字符
  • 打印从后到尾的所有字符
  • 打印换行符

您的代码对此没有任何作用。但我们不是来解决你的作业的;)

最后一个提示:有两种不同类型的停止条件,它们取决于您的输入长度是偶数还是奇数。 (我建议的测试应该可以捕获他们两个,不过)。

关于C 程序 : How to print a string like this. ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33556880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com