首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使文本向右移动?

如何使文本向右移动?
EN

Stack Overflow用户
提问于 2015-04-08 02:20:36
回答 2查看 1.7K关注 0票数 0

我编写了一段代码,其中的输出应该向右移动一点,如:http://imageshack.com/a/img537/9765/7uQXuY.jpg

但我的代码却是这样的:

http://imageshack.com/a/img540/2117/mpK85j.jpg

这是我的代码:

代码语言:javascript
复制
#include <stdio.h>

int main()
{
  int n, c, k, space = 1;
  char ch='a';

  printf(" Enter the size of the diamond:\t");
  scanf("%d", &n);

  space = n - 1;

  for (k = 1; k <= n; k++)
  {
    for (c = 1; c <= space; c++)
      printf(" ");

    space--;
    ch='`'; /* starting from the Asci code num 096 */


    for (c = 1; c <= 2*k-1; c++)

      if (c <= k)
      {ch++;
      printf("%c", ch);
      }

      else
      {
      ch--;
      printf("%c", ch);}

    printf("\n");
  }


  space = 1;


  for (k = 1; k <= n - 1; k++)
  {
    for (c = 1; c <= space; c++)
      printf(" ");

    space++;
    ch='`';

    for (c = 1 ; c <= 2*(n-k)-1; c++)
      if (c <= n-k)
      {ch++;
      printf("%c", ch);
      }

      else
      {
      ch--;
      printf("%c", ch);}

    printf("\n");
  }

  return 0;
}

在这种情况下我该怎么办?我在C语言方面不是很有经验。我试过很多东西,但每次都毁了整个代码。我只成功地移动了第一行!但下面的字母不能移动。另一个问题是:

我如何让数字9--例如,在黑色照片中的数字--出现在右边等于9空格的距离上,如果我放置的数字是4,那么这个数字就会出现在右边的4个空格上?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-08 02:33:40

您需要循环for (c = 1; c <= space; c++)将一个' '从1添加到任何space相等的值。你收到的输出与你想要的输出只有一个空格。你可以做两件事:

space设置为循环前的n:

代码语言:javascript
复制
space = n - 1;

变成了

代码语言:javascript
复制
space = n;

或者在循环中将c设置为零。

代码语言:javascript
复制
for (c = 0; c <= space; c++)
票数 0
EN

Stack Overflow用户

发布于 2015-04-08 02:36:48

space添加1

代码语言:javascript
复制
for (c = 1; c <= space+1; c++)

代码语言:javascript
复制
for (c = 1; c <= space+1; c++)

输出是

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29504787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档