怎样比较超大整数?

来源:百度知道 编辑:UC知道 时间:2024/07/05 17:29:38
输入有两行,都是10^6以内的整数,如果第一行大于第二行则输出"a>b"如果第一行小于第二行则输出"a<b".相等输出a=b.
(要纯C语言的哦~~~)
我知道是把整数当作字符串来比较,但是这么长的两行应该如何输入进字符串呢?
说错了~~是10的10^6次方

//---------------------------------------------------------------------------

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

int main(void)
{
char a[80],b[80];
scanf("%79[0123456789]%*c",a);
scanf("%79[0123456789]",b);
if (strcmp(a,b)>0) {
printf("a>b");
}
else if (strcmp(a,b)<0) printf("a<b");
else printf("a==b");
return 0;
}
//---------------------------------------------------------------------------

去看高精度计算(小学BASIC书上都有)

10的6次方不算大吧?
#include <stdio.h>

void main(void)
{
FILE* fp = fopen("a.txt", "rt");
char first[1024], second[1024];
fgets(first, 1024, fp);
fgets(second, 1024, fp);
fclose(fp);
int ret = stricmp(first, second);
if(ret < 0)
{
//a<b
}
else if(ret == 0)
{
//a==b
}
else i