c/c++语言开发共享如何知道用户给出的数字是整数还是双数?

我们在课堂上有一个问题:我们应该从用户那里得到一个数字(scanf),我们应该检查它是整数还是双数。

如果它是double,我们应该写“Double”,如果它是一个整数,我们应该写“Integer”

如何检查它是整数还是双精度? 当然我们可以使用if / else。

    我将如何做,示意图:

    在步骤5中首先检查整数然后检查浮点数是很重要的,因为整数输入通常也可以解析为浮点数,因此整数应该优先。


    更新:

    这个问题确实没有完全确定。 也就是说,它没有指定可能允许的整数基数。

    …如果用户给定的数字是整数还是双数?
    ……我们应该从用户那里获得一个号码。 (scanf)……

    让我们考虑各种输入:

    其他考虑:

    继续这些合理的假设。

    答:输入的字符不是太多。 整数适合long long
    B.溢出/下溢/倒圆不是问题。
    C.如果解析为两者,则将其称为整数
    D.要求意味着使用scanf() – yuk – 而不是使用fgets()

     const char *TestInput(void) { char buf[100]; if (sscanf(" %99[^n]", buf) != 1) return "No interesting input"; char end; long long ll; if (sscanf(buf, "%lli %c", &ll, &end) == 1) return "Integer"; double d; if (sscanf(buf, "%lf %c", &d, &end) == 1) return "double"; return "neither"; } 

      以上就是c/c++开发分享如何知道用户给出的数字是整数还是双数?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      www.ctvol.com true Article c/c++语言开发共享如何知道用户给出的数字是整数还是双数?

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519238.html

      (0)
      上一篇 2020年12月5日 上午9:18
      下一篇 2020年12月5日 上午9:21

      精彩推荐