请求高人编写以下C程序(本人在VC++6.0上调试),非常感谢

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:38:51
编一C程序,它能以字符串形式读入两个无符号十进制正整数m和n(两个串各占一行),计算并输出这两个整数的和,其中m和n都无前导0,最大为200位。
(注:可执行文件名为e2.exe,存于你的账号或其debug目录下)

这是代码,可能写的麻烦了点

#include <stdio.h>
void main()
{
char a[200],b[200],c[201];
printf("请输入第一个数:\n");
scanf("%s",a);
printf("请输入第二个数:\n");
scanf("%s",b);
char *p=a,*q=b;
while(*p++);
while(*q++);
p-=2;
q-=2;
int over=0;
char *pp=c;
int x,y;
while(p!=a-1||q!=b-1)
{
x=*p-'0';y=*q-'0';
if(p!=a-1&&q!=b-1)
{
*pp=(x+y)%10+over;
over=(x+y)/10;
p--;q--;pp++;
}
else if(p!=a-1)
{
*pp=(over+x)%10;
over=(over+x)/10;
p--;pp++;
}
else
{
*pp=(over+y)%10;
over=(over+y)/10;
q--;pp++;
}
}
if(over==1)
*pp++=1;
while(pp!=c)
printf("%d",*--pp);
printf("\n");

}