繁体   English   中英

如何在第一个printf语句之后添加空格?

[英]How can I add a space after the first printf statement?

C语言中的随机数猜谜游戏

如果没有猜到正确的数字,用户将有10个猜测,然后游戏将退出。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
int theNumber;
int userGuess;
int counter = 10;
int lowerBound = 1, upperBound = 100;

// seed function
srand((unsigned)time(NULL));

// generates number between 1 and 100
theNumber = lowerBound + rand() % (upperBound - lowerBound + 1);

printf("Please guess a number (1-100): ");

for (counter = 9; counter <= 10; counter--) {

    // get users guess
    scanf("%d", &userGuess);

    if (userGuess == theNumber) {
        printf("You guessed it! The number was: %d", theNumber);
        break;
    }

    if (userGuess < theNumber && counter >= 1)
        printf("Your guess was too low. You have %d guesses remaining. Guess higher: ", counter);

    if (userGuess > theNumber && counter >= 1)
        printf("Your guess was too high. You have %d guesses remaining. Guess lower: ", counter);

    if (counter == 0) {
        printf("\nYou ran out of guesses. The number was: %d \n", theNumber);
        break;
    }

}

return 0;

}

样本输出:

Please guess a number (1-100): 100
Your guess was too high. You have 9 guesses remaining. Guess lower: 90

如何在第一个printf语句之后添加空格,以使输出看起来像这样?

所需的输出:

Please guess a number (1-100): 100

Your guess was too high. You have 9 guesses remaining. Guess lower: 90

如果用户输入的文字像“一个”! 怎么了?
总是检查错误

if (scanf("%d", &userGuess) != 1){
    printf("incorrect input.\n");
    return 1;
}

如果需要垂直空间,请使用printf("\\n");
如果您只需要垂直空间一次使用:

if (counter == 9)
    printf("\n");

样例代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int theNumber;
    int userGuess;
    int counter = 10;
    int lowerBound = 1, upperBound = 100;

    // seed function
    srand((unsigned)time(NULL));

    // generates number between 1 and 100
    theNumber = lowerBound + rand() % (upperBound - lowerBound + 1);

    printf("Please guess a number (1-100): ");

    for (counter = 9; counter <= 10; counter--) {

        // get users guess
        if (scanf("%d", &userGuess) != 1){
            printf("incorrect input.\n");
            return 1;
        }
        //if (counter == 9)
        printf("\n");

        if (userGuess == theNumber) {
            printf("You guessed it! The number was: %d", theNumber);
            break;
        }

        if (userGuess < theNumber && counter >= 1)
            printf("Your guess was too low. You have %d guesses remaining. Guess higher: ", counter);

        if (userGuess > theNumber && counter >= 1)
            printf("Your guess was too high. You have %d guesses remaining. Guess lower: ", counter);

        if (counter == 0) {
            printf("\nYou ran out of guesses. The number was: %d \n", theNumber);
            break;
        }

    }

    return 0;
}

如果您要询问这两行之间的新空白行,只需添加printf("\\n"); 在您的第一个printf语句之后。

如果要在任何地方放置间距,请使用printf(" "); 这将在两者之间增加空间。

使用int和while循环可在所需之间打印尽可能多的空格或新的空白行。

例:

int main()
{
   int i;
   i = 0;
   while (i < 30)
   {
      printf(" ");
      i++;
   }
   printf("X\n");
   return 0;
}

暂无
暂无

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

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