我需要制作一个可以输入最多100位数字的程序。没有标准int
数据类型就能做到这一点!我从未遇到过这种奇怪的情况。
我根本得不到它。我该怎么解决这个问题?
我正在处理的问题是:
将给出一个整数,你必须制作一个程序 确定它是偶数还是奇数。
输入规范
在第一行中,将有一个表示数字的整数T. 测试用例。在以下T行中,将出现非负整数 给出。该号码最多可以包含100位数字。
输出规范
对于给出的每个整数,你必须打印是否奇怪 甚至作为输出。
任何人都可以指导我如何解决问题(如果甚至可以这样做)?
答案 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;
}