【任务帖】2014年8月13日C语言题目-A+B的问题
xiaoz吧
全部回复
仅看楼主
level 9
奋斗丶小Z 楼主
2014年08月12日 16点08分 1
level 8
难死了[怒][怒][怒]
2014年08月13日 01点08分 2
就是a+b[不高兴]
2014年08月13日 01点08分
回复 奋斗丶小Z :不会[喷][喷][喷]
2014年08月13日 01点08分
回复 风依旧吹拂 :逗我呢
2014年08月13日 01点08分
level 9
要不要考虑int 和 double的范围
2014年08月13日 01点08分 3
你可以试试,保证可以正常输出
2014年08月13日 02点08分
同时要考虑 节约内存的问题
2014年08月13日 02点08分
回复 奋斗丶小Z :高精度计算 - - 群主你的个变态,出这么难得题[怒]
2014年08月13日 03点08分
回复 Summer_Nov :[乖]完全不懂
2014年08月13日 15点08分
level 5
身为小吧主的我是不是该来做题 [阴险][阴险][阴险]
2014年08月13日 03点08分 4
是的呀~
2014年08月13日 04点08分
level 9
2014年08月13日 14点08分 5
功能实现了。
2014年08月13日 15点08分
[真棒][真棒][真棒]
2014年08月13日 15点08分
层主好棒!
2014年08月14日 09点08分
level 9
奋斗丶小Z 楼主
2014年08月13日 16点08分 6
本答案由 @Summer_Nov 提供
2014年08月13日 16点08分
level 9
奋斗丶小Z 楼主
==================================================================
#include<stdio.h>
#include<string.h>
#define MAX 1000 /*宏定义,下面遇到MAX的时候都变成1000 */
int main(void)
{
int arr1[MAX]={0},arr2[MAX]={0};
int len,i,len1,len2,t,j = 0;
char str[MAX]; /*读入数据,并进行预处理(计算出数字位数,并方向存放)*/
scanf("%s",str);
len1 = strlen(str);
for(i=0; i<len1; ++i)
arr1[i] = str[len1-1-i] - *0*;
scanf("%s",str);
len2 = strlen(str);
for(i=0; i<len2; i++)
arr2[i] = str[len2-1-i] - *0*;
len = (len1>len2)?len1:len2;
for(i=0; i<len; i++)
{
t = arr1[i] + arr2[i] +j;
arr1[i] = t % 10;
j = t / 10;
}
if(j != 0) arr1[len++] = j;
for(i=0; i<len; ++i)
printf("%d",arr1[len-1-i]);
return 0;
}
===================================================================
2014年08月13日 16点08分 7
本答案由 @Summer_Nov 提供
2014年08月13日 16点08分
回复 奋斗丶小Z :把arr1和arr2的定义改一下,换成unsigned char
2014年08月14日 08点08分
1