8 初级算术
作者: zzp时间限制: 1S章节: 循环
问题描述 :
小学一年级学生正在学习多位数加法,从右到左每次一位数字。在运算过程中,进位对学生来讲是个难点。你的工作是统计每组加法运算的进位次数,老师根据你的统计结果就可以评估这些题目的难度。
输入说明 :
每行输入有两个正整数。参加运算的数和运算结果保证在32位整数范围内。
输出说明 :
对每行输入都有一行输出,输出内容与两个正整数做加法运算时产生的进位次数有关,
分三种情况:
1、没有进位
2、一次进位
3、多次进位
三种输出的格式不同,具体格式见样例输出。
输入范例 :
123 456
555 555
123 594
输出范例 :
No carry operation.
3 carry operations.
1 carry operation.
/**
初级算术
求进位:
**/
#include <stdio.h>
int main(){
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
int number1,number2,number3;
number3=0;
int total=0;
while(a&&b){
number1=a%10;
number2=b%10;
if(number1+number2+number3>=10){
number3=1;
total++;
}
else number3=0;
a=a/10;
b=b/10;
}
while(a)
{
number1=a%10;
if(number1+number3>=10){
number3=1;
total++;
}
else number3=0;
a=a/10;
}
while(b){
number2=b%10;
if(number2+number3>=10){
number3=1;
total++;
}
else number3=0;
b=b/10;
}
if(total==0)
printf("No carry operation.\n");
if(total==1)
printf("1 carry operation.\n");
if(total>1)
printf("%d carry operations.\n",total);
}
return 0;
}
小结:有一个典型的测试用例 994+6
应该有三次进位,注意下即可