GitBook

这里写图片描述

模拟进位 刚开始想可能会忽视记录进位次数之后,真的要”进位”

#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\n",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\n",i);
		}
	}
	return 0;
}

题目地址:【NYOJ】[74]小学生算术