奇怪的情况 - 要求输入100位数字

时间:2016-04-20 11:19:31

标签: c

我需要制作一个可以输入最多100位数字的程序。没有标准int数据类型就能做到这一点!我从未遇到过这种奇怪的情况。

我根本得不到它。我该怎么解决这个问题?

我正在处理的问题是:

  

将给出一个整数,你必须制作一个程序   确定它是偶数还是奇数。

     

输入规范

     

在第一行中,将有一个表示数字的整数T.   测试用例。在以下T行中,将出现非负整数   给出。该号码最多可以包含100位数字。

     

输出规范

     

对于给出的每个整数,你必须打印是否奇怪   甚至作为输出。

任何人都可以指导我如何解决问题(如果甚至可以这样做)?

4 个答案:

答案 0 :(得分:11)

  

程序将输入一个数字作为输入,并确定它是奇数还是偶数。

读取字符串中的输入(char [101])并仅分析最后一位数字以检查数字是奇数还是偶数。其余数字与此任务无关。

答案 1 :(得分:3)

没有标准数字类型可以保证保留那么多位数。您需要以不同的方式存储值,例如,作为字符串或其他数组。如果需要对这些数字执行算术运算,则需要对所使用的类型实现这些操作,或者使用某种任意精度库。

(提示:对于某些操作,您也不一定需要整个数字,例如,您只需查看最后一位数字即可判断它是偶数还是奇数...)

答案 2 :(得分:3)

练习是确定最多100位数的整数是奇数还是偶数。

这不要求您对数字执行任意算术,因此如果您需要处理大于系统上最大整数类型的数字,您可以将它们视为一串数字。

是偶数还是奇数只取决于最后一位数。

答案 3 :(得分:0)

对于那些花时间和精力回答这个问题的人,

感谢您的回答。并感谢您展示自己的方式。我非常感谢你的帮助!

我编码的问题的解决方案是 -

#include <stdio.h>
#include <string.h>

int main()
{
    int T, i, j;
    scanf("%d", &T);

    for (i=1; i<=T; i++)
    {
         char N[101];
         scanf("%s", N);
         int k = strlen(N);
         int p = N[k-1] - 48; //char to int conversion

         if (p % 2 == 1)
         {
             printf("odd\n");
         }

         else 
         {
             printf("even\n");
         }
     }

     return 0;
}