计蒜客:A+B 问题(C语言)

在这里插入图片描述
自己编的测试样例:
28+89
99+3
1+1

#include<stdio.h>
#include<string.h>
#define MAX  600
char c[MAX];
char a[MAX];
char b[MAX];
int main()
{
  	int i,temp,index=0, a_length,b_length,length=0;
	 gets(a);
	 gets(b);
	 a_length = strlen(a);
	 b_length = strlen(b);
	 for(i=0;i<MAX;i++)
	 {
 	 c[i]='0';
	 }
	 while(1)
 	 {
	  if(a_length != 0 && b_length != 0)
 	 {
 	  temp=(a[a_length-1]-'0')+(b[b_length-1]-'0');
	  }
	  else if(a_length != 0 && b_length == 0)
 	  {
	   temp=a[a_length-1]-'0';
 	  }
	  else if((a_length == 0) && b_length != 0)
	  {
  	  temp=b[b_length-1]-'0';
      }
 	 else
 	 {
 	  break;
	  }
 	 if(temp+c[index]-'0'>=10)
 	 {
   	 	 c[index+1]++;
 	 }
  	 c[index] = (temp+c[index]-'0')%10+'0';
 	 index++;
  
     if(a_length>0)
     a_length--;
     if(b_length>0)
     b_length--;
 }
 if(c[index]!='0')
 {
    printf("%c",c[index]);
 }
 for(i=index-1;i>=0;--i)
 { 
    printf("%c",c[i]);
 }
 return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42580577/article/details/86583457