小学生算术
时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。 输入 输入两个正整数m,n.(m,n,都是三位数) 输出 输出m,n,相加时需要进位多少次。 样例输入 123 456 555 555 123 594 0 0 样例输出 0 3 1
#include <iostream>using namespace std;int jin(int m,int n){ int a=n%10; //百位数 int b=n/10%10; //十位数 int c=n/100; //个位数 int d=m%10; //百位数 int e=m/10%10; //十位数 int f=m/100; //个位数 int count=0; if(a+d>=10) { count++; int g=(a+d)%10; if(b+e+g>=10) { count++; int h=(b+e)%10; if(c+f+h>=10) { count++; } } } else if(a+d<10&&b+e>=10) { count++; int i=(b+e)%10; if(i+c+f>=10) { count++; } } else { if(c+f>=10) { count++; } } return count;}int main(){ int m,n; while(cin>>m>>n) { if(m!=0&&n!=0) { cout<<jin(m,n); } else { break; } cout<<endl; } return 0;}新闻热点
疑难解答