Daller


私信TA

用户名:1075939024

访问量:1878

签 名:

等  级
排  名 8425
经  验 1231
参赛次数 0
文章发表 6
年  龄 0
在职情况 学生
学  校 揭阳职业技术学院
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include

#include

//比较大小函数 

int max(int a,int b)

{

    return a > b ?  a :  b;

}

int main()

{

     char str1[1001]={'\0'},str2[1001]={'\0'};     //将输入的数据保存在num1和num2字符串中 

     int num1[1001]={0},num2[1001]={0};       //保存数据的整型 

     int count[1025]={0},sum=0;                      //将结果放在count数组中 

     int len1,len2,maxlen,j=0,i,k=0;

     scanf("%s%s",str1,str2);                             //获取输入数据 

     len1 = strlen(str1);                                     //计算数据1的长度 

     len2 = strlen(str2);                 

//计算数据2的长度 

     maxlen = max(len1,len2);

for(i = maxlen-1;i >= 0;i--)          //将非空字符数据保存在整型数据里(倒序) 

{

     if(str1[i]!='\0')

     num1[j++] = str1[i] - '0';

     if(str2[i]!='\0')

     num2[k++] = str2[i] - '0';

}

j = 0;

for(i = 0;i < maxlen;i++) //计算 

{

     sum += num1[i] + num2[i];

     count[j++] = sum % 10;          //求余 

     sum /= 10;                               //进位 

}

count[j] = sum;

if(count[j]!=0)

  printf("%d",count[j]);                  //这步很关键,不写的话,最高位进位的时候会被漏掉 

for(i = j-1;i >= 0;i--)                      //打印数据(倒序) 

    printf("%d",count[i]);

return 0;

}


 

0.0分

2 人评分

  评论区

  • «
  • »