模拟进位
刚开始想可能会忽视记录进位次数之后,真的要”进位”
#include<stdio.h>
int main() {
int a,b;
while(scanf("%d %d",&a,&b),a!=0||b!=0) {
int cnt=0;
int m[6];
m[0]=a%10;
m[3]=b%10;
m[1]=a/10%10;
m[4]=b/10%10;
m[2]=a/100;
m[5]=b/100;
if(m[0]+m[3]>9) {
cnt++;
m[1]+=m[0]+m[3]-9;
}
if(m[1]+m[4]>9) {
cnt++;
m[2]+=m[1]+m[4]-9;
}
if(m[2]+m[5]>9) {
cnt++;
}
printf("%d
",cnt);
}
return 0;
}
标程的思路是一样的
不过没用数组显得乱一些
#include<stdio.h>
int main() {
int a,b,c,d,e,f,n,m,i;
for(;;) {
scanf("%d%d",&n,&m);
if(n==0&&m==0)
return 0;
else {
i=0;
a=n/100;
b=n%100/10;
c=n%10;
d=m/100;
e=m%100/10;
f=m%10;
if(c+f>=10) {
i+=1;
b+=1;
}
if(b+e>=10) {
i+=1;
a+=1;
}
if(a+d>=10) {
i+=1;
}
printf("%d
",i);
}
}
return 0;
}
题目地址:【NYOJ】[74]小学生算术