使用的do while循环如何提供用户提示?

用户名

我制作了一个简单的程序,用#表示一个半三角形,一切正常,唯一的问题是我的while循环不起作用无法提示用户快速帮助?

#include<stdio.h>

int main() {
    int n;

    do { 
        printf("enter a non negitive number less than equal to 23");
        scanf("%d\n",&n);

        for(int i=0;i<n;i++)
        {  
            for(int j=0;j<n+1;j++)
            {  
                if(j <= n-(i+2) )
                    printf(" ");
                else
                    printf("#");
            }
            printf("\n");
        }  
    }     
    while(n < 23);

    printf("thanks for using my program");

    return 0;
}
cdhowie

如评论中所述,您的问题是,即使您输入的数字超过23,它也会打印输出。(我重复此操作是因为该信息本身不存在于问题中。)

这是因为条件是在循环结束求值的do ... while如果要在读取数字后立即退出,则需要在读取输入后立即测试条件。

尝试将打印和读取逻辑封装在一个函数中;这将使它更容易在while循环中用作条件

int prompt_and_read(int * output) {
    printf("enter a non negitive number less than equal to 23: ");
    fflush(stdout);
    return scanf("%d\n", output);
}

然后,您可以执行以下操作:

while (prompt_and_read(&n) && n < 23) {
    ....
}

这是多方面的改进:

  • 它刷新输出以确保显示提示。printf()在写换行符之前,可能不会刷新输出。
  • 如果循环读取的数字为23或更大,则循环将立即终止。
  • 因为您没有检查的返回值scanf(),如果输入在读取数字23或更大之前结束,则循环将无限继续。scanf()如果无法读取任何输入,则通过终止循环来测试修复结果

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用户退出while循环

来自分类Dev

如何使用while循环,do循环从1到用户输入的数字求和?

来自分类Dev

(学生)使用while循环来捕获并提示用户输入无效的条目

来自分类Dev

如何用do-while循环来吸引用户?

来自分类Dev

在c中使用do while循环从用户那里获取输入

来自分类Dev

如何在csh shell命令提示符中使用while循环?

来自分类Dev

如果我的 scanf 变量是一个浮点数并且用户输入了一个字符,我如何提示他们输入一个数字?假设 scanf 在 do while 循环中

来自分类Dev

如何使用用户输入让While循环计数而不是无限循环?

来自分类Dev

如何使用while循环

来自分类Dev

如何使用while循环

来自分类Dev

如何使用 Powershell 创建适当的 do-while 循环

来自分类Dev

当程序被用户成功终止时,如何退出do-while循环

来自分类Dev

如何用用户输入的字符串结束do while循环?

来自分类Dev

使用 while 或 do while 退出循环

来自分类Dev

使用用户输入的整数的While循环

来自分类Dev

在read驱动的while循环内使用read作为提示吗?

来自分类Dev

如何使用while循环将用户输入输入数组,同时保持某些数字不变

来自分类Dev

如何在 C++ 中使用 while 或 for 循环添加用户输入的数字?

来自分类Dev

Java使用do-while和for循环为用户输入错误创建新方法

来自分类Dev

使用do while循环加载setbackground

来自分类Dev

Java循环数组使用do ... while

来自分类Dev

使用do while循环进行setbackground加载

来自分类Dev

使用do while循环访问菜单

来自分类Dev

如何摆脱这种do-while循环?

来自分类Dev

如何使do while循环正常工作?

来自分类Dev

如何停止我的do-while循环

来自分类Dev

如何编写正确的 do..while 循环?

来自分类Dev

如何修复这个简单的 do/while 循环?

来自分类Dev

如何使用try-except块来验证输入,并使用while语句提示用户直到Python中的有效输入?

Related 相关文章

  1. 1

    如何使用户退出while循环

  2. 2

    如何使用while循环,do循环从1到用户输入的数字求和?

  3. 3

    (学生)使用while循环来捕获并提示用户输入无效的条目

  4. 4

    如何用do-while循环来吸引用户?

  5. 5

    在c中使用do while循环从用户那里获取输入

  6. 6

    如何在csh shell命令提示符中使用while循环?

  7. 7

    如果我的 scanf 变量是一个浮点数并且用户输入了一个字符,我如何提示他们输入一个数字?假设 scanf 在 do while 循环中

  8. 8

    如何使用用户输入让While循环计数而不是无限循环?

  9. 9

    如何使用while循环

  10. 10

    如何使用while循环

  11. 11

    如何使用 Powershell 创建适当的 do-while 循环

  12. 12

    当程序被用户成功终止时,如何退出do-while循环

  13. 13

    如何用用户输入的字符串结束do while循环?

  14. 14

    使用 while 或 do while 退出循环

  15. 15

    使用用户输入的整数的While循环

  16. 16

    在read驱动的while循环内使用read作为提示吗?

  17. 17

    如何使用while循环将用户输入输入数组,同时保持某些数字不变

  18. 18

    如何在 C++ 中使用 while 或 for 循环添加用户输入的数字?

  19. 19

    Java使用do-while和for循环为用户输入错误创建新方法

  20. 20

    使用do while循环加载setbackground

  21. 21

    Java循环数组使用do ... while

  22. 22

    使用do while循环进行setbackground加载

  23. 23

    使用do while循环访问菜单

  24. 24

    如何摆脱这种do-while循环?

  25. 25

    如何使do while循环正常工作?

  26. 26

    如何停止我的do-while循环

  27. 27

    如何编写正确的 do..while 循环?

  28. 28

    如何修复这个简单的 do/while 循环?

  29. 29

    如何使用try-except块来验证输入,并使用while语句提示用户直到Python中的有效输入?

热门标签

归档