C语言简单问题 速!

来源:百度知道 编辑:UC知道 时间:2024/09/24 04:17:59
进行200位整形数据的加法运算,但计算机处理的数据有一定的范围,怎么办?(提示:可将高精度的数字以字符串的形式放到字符数组中,进行类似平常手动运算方法模拟进行)
完整的代码行吗 能直接运行的 拜托

支持一千位的 我OJ时候做得 算法对 可能会输出一点你不需要的东西 你自己删掉吧 ^-^
#include<stdio.h>
#include<string.h>
int main()
{
char x[1001],y[1001],z[1001];
int n,i,j,k,m,o;

scanf("%d",&n);
o=n;
while(n--)
{
scanf("%s%s",x,y);
i=strlen(x);
j=strlen(y);
for(k=0,m=0;i>0&&j>0;i--,j--)
{
m+=x[i-1]-'0'+y[j-1]-'0';
z[k++]=m%10+'0';
m/=10;
}
for(;i>0;i--)
{
m+=x[i-1]-'0';
z[k++]=m%10+'0';
m/=10;
}
for(;j>0;j--)
{
m+=y[j-1]-'0';
z[k++]=m%10+'0';
m/=10;
}
if(m>0)
z[k++]=m%10+'0';
printf("Case %d:\n%s + %s = ",o-n,x,y);
for(;k>0;k--)
printf("%c",z[k-1]);
printf("\n");
if(n)
printf("\n");
}
return 0;
}