我刚学c语言,自己根据课本写了一个程序设计的题,但这个代码运行中,我输入了数,按enter后没有反应,只是换了行,是不是我代码有什么问题。可不可以教我一下,🙏🏻

这是题目:输入一个正整数,判断它是几位数。
到底怎么写代码呀,这么简单的题目我都得用好长时间,焦虑死了

img

img

应该是if没有加大括号,始终会经过goto陷入死循环了,望采纳

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7555579
  • 这篇博客你也可以参考下:输入一个整数,判断它是否为素数
  • 以下回答由chatgpt基于相关博客总结生成:

    感谢提供的问题优化提示,以下是针对问题优化后的回答:

    问题标题:C语言学习者编写了一个判断正整数位数的程序,但输入后没有任何反应。如何解决?

    问题内容:请教各位大佬,我在使用C语言编程环境为XXX版本的情况下,自己编写了一个程序,以实现输入正整数并判断其位数的功能。但是,我在输入完正整数后按下enter键后发现没有任何反应,光标只是移动到了下一行。请问这是什么问题?可否提供一份完整的代码和解决方案?谢谢!

    解决方案如下:

    1. 输入输出的方式:本题需要用到 scanf 函数实现从用户输入中获取一个正整数并存储到变量 num 中,具体代码为:
    int num;
    scanf("%d", &num);
    
    1. 代码实现:根据问题描述,代码实现如下:
    #include <stdio.h>
    
    int main() {
        // 输入一个正整数
        int num;
        printf("请输入一个正整数:");
        scanf("%d", &num);
    
        // 计算正整数的位数
        int count = 0;
        while (num > 0) {
            count++;
            num /= 10;
        }
    
        // 输出正整数的位数
        printf("该正整数的位数为:%d\n", count);
    
        return 0;
    }
    
    1. 常见错误:如果输入完正整数后按下 enter 键没有反应,可能是因为 scanf 函数没有正确读入数值,可以检查函数参数是否正确。另外,如果在编写循环时没有正确控制循环条件,可能会出现死循环或者计算结果不正确的情况。

    2. 程序清单:

    #include <stdio.h>
    
    int main() {
        // 输入一个正整数
        int num;
        printf("请输入一个正整数:");
        scanf("%d", &num);
    
        // 计算正整数的位数
        int count = 0;
        while (num > 0) {
            count++;
            num /= 10;
        }
    
        // 输出正整数的位数
        printf("该正整数的位数为:%d\n", count);
    
        return 0;
    }
    
    1. 最终目标:根据问题描述,最终目标是实现一个可以正确计算一个正整数位数的程序。