C语言 A与B求和

题目描述:

给两个数a,b,求和。

输入格式:

两行,分别为a与b(a、b都不超过100000位)

输出格式:

一行,a与b的和

样例输入:

13
12

样例输出:

25

楼上的,100000位,用c的标准数表示不出来的
用字符数组实现
#include<stdio.h>
int main(){
char a[3][100001];
int i,j,k;
int c=0;
printf("输入:\n");
//first data
for(i=0;;i++){
scanf("%c",&a[2][i]);
if(a[2][i]=='\n') break;
}
for(j=i-1;j>=0;j--)
a[0][i-j-1]=a[2][j];
//second data
for(k=0;;k++){
scanf("%c",&a[2][k]);
if(a[2][k]=='\n') break;
}
for(j=k-1;j>=0;j--)
a[1][k-j-1]=a[2][j];
//compare
if(i>k){
a[0][i]=0x30;
for(j=k;j<=i;j++)
a[1][j]=0x30;
}
else{
a[1][k]=0x30;
for(j=i;j<=k;j++)
a[0][j]=0x30;
}
//add
for(i=0;i<j;i++){
a[2][i]=a[0][i]+a[1][i]+c-0x30; //相加
if(a[2][i]>0x39){ //进位
a[2][i]=a[2][i]-10;
c=1;//进位
}
else
c=0;
}
printf("输出:\n"); //输出
if(a[2][j-1]==0x30)
j=j-1;
for(i=j-1;i>=0;i--)
printf("%c",a[2][i]);
printf("\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-26
#include <stdio.h>
void main()
{
long a=0,b=0;
printf("Please input 2 numbers:\n");
scanf("%d",a);
scanf("%d",b);
printf("The sum is:%d\n",a+b);
}
第2个回答  2008-11-26
#include<stdio.h>
main()
{
double a,b;
printf("请输入a与b的值,用空格分开");
scanf("%lf%lf",&a,&b);
a=a+b;
printf("a与b的和为: %g\n",a);
}

C语言 能当C++用。。
第3个回答  2008-11-26
高精度问题,用数组模拟加法