有没有人在啊,想请分析下,C语言两个相加后逆序输出 应该是大整数模拟 求教 我的代码哪有错误??
题目描述这是一个简单的问题,给你两个正整数a,b(0<=a,b<=2^31),然后把a和b反转然后相加;具体看样例;
输入
每组首先输入一个整数t,表示有t组数据。 以后每组数据占一行,且为两个整数a和b(没有前导0)。
输出
对于每组数据 ,输出数字反转相加后的结果。每组占一行。没有前导0!
样例输入
320 30101 2123 340
样例输出
5103364
提示
来源
#include "stdio.h"
#include "string.h"
int main()
{
int N,a,b;
int i,*p=NULL,*q=NULL;
int a[1000];
scanf("%d",&N);
while(N--)
{
scanf("%d%d",&a,&b);
memset(a,0,sizeof(a));
i=0;p=a+1000;q=a;
while(a!=0||b!=0)
{
a[i++]=a%10+b%10;
a/=10; b/=10;
}
for(i=0;i<=1000;i++)
{
if(a[i]>9)
{
a[i+1]=a[i+1]+a[i]/10;
a[i]=a[i]%10;
}
}
while(*p==0) {p--;}
while(*q==0) {q++;}
for(;q<=p;q++)
printf("%d",*q);
printf("\n");
}
return 0;
}