1. 程式人生 > >PTA 1016 部分A+B(C語言)

PTA 1016 部分A+B(C語言)

我對這道題的理解是:利用math庫中的pow函式(次方函式)每當出現相同數字時進行一次10的次方(次方數由出現的次數決定)並用for迴圈求和即可。

#include <stdio.h>
#include <math.h>

int main(void)
{
  char a[1024],b[1024];
  int Da,Db;
  int suma = 0,sumb = 0,sum  =0;
  int aa= 0,bb = 0;
  if(scanf("%s %d %s %d",a,&Da,b,&Db));
  int i  =0;
  for(i = 0;a[i];i++)
  {
    if(a[i]-'0'==Da)
    {
      suma+=Da*(pow(10,aa++));
    }
  }
  for(i = 0;b[i];i++)
  {
    if(b[i]-'0'==Db)
    {
      sumb+=Db*(pow(10,bb++));
    }
  }
  
  sum = suma+sumb;
  printf("%d\n",sum);
  
  return 0;
}