acm 小学生算术

小学生算术

时间限制:3000 ms  |  内存限制:65535 KB

难度:1

输入

输入两个正整数m,n.(m,n,都是三位数)

输出

输出m,n,相加时需要进位多少次。

样例输入

123 456
555 555
123 594
0 0

样例输出

0
3 
1

描述

很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。

#include<stdio.h>

int main()
{
 int m,n,t,flag,i;
 while(1){         //死循环
  t = flag = 0;       //flag为进位标志,若上一次计算没有进位则为0,有进位则为1
  i = 3;
  scanf("%d%d",&m,&n);
  if(m == 0 && n == 0) break;    //当都为0时结束循环
  while(i--){
   if(m % 10 + n % 10 + flag> 9) {  //需要加上进位标志
    t++;
    flag = 1;
   }
   else flag = 0;
   m = m /10;
   n = n /10;
  }
  printf("%d\n",t);
 }
 return 0;
}

猜你喜欢

转载自blog.csdn.net/chen1042246612/article/details/81282759