私信TA

用户名:2950870451

访问量:25682

签 名:

等  级
排  名 197
经  验 6587
参赛次数 0
文章发表 77
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include <stdio.h>
#include <string.h>

void f(char *a,char *b,int *aa,int *bb,int *ans){
 int i;
 int maxlen;
 int a_len = strlen(a);
 int b_len = strlen(b);
 int ans_len = 0;
 int carry = 0;
 
 for(i = 0; i < a_len; i++)
  aa[i] = a[a_len-i-1]-48;
 for(i = 0; i < b_len; i++)
  bb[i] = b[b_len-i-1]-48;
 
 if(a_len < b_len)
  maxlen = b_len-1;
 else
  maxlen = a_len-1;
  
 for(i = 0; i <= maxlen; i++){
  ans[ans_len] = aa[i]+bb[i]+carry;
  carry = ans[ans_len]/10;
  ans[ans_len] %= 10;
  ans_len++;
 }
 ans[ans_len] = carry;
 
 while(ans[ans_len] == 0 && ans_len > 0)
  ans_len--;
 
 for(i = ans_len; i >= 0; i--)
  printf("%d", ans[i]);
 printf("\n");
}

int main(){
 char a[1001],b[1001];
 int aa[1001],bb[1001],ans[1001];
 
 while(~scanf("%s %s", a,b)){
  memset(aa,0,sizeof(aa));
  memset(bb,0,sizeof(bb));
  f(a,b,aa,bb,ans); 
 }
 
 return 0;
}

 

0.0分

0 人评分

  评论区

  • «
  • »