pat 乙级 1016 部分A+B(C语言实现)

输入格式:
输入在一行中依次给出 A、DA​​ 、B、DB​​ ,中间以空格分隔,其中 0

输出格式:
在一行中输出 PA+PB的值。

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

以下是AC代码

#include 
int main(void){
	long long a,da,b,db;   //范围较大,使用longlong  
	long long pa=0,pb=0;
	scanf("%lld%lld%lld%lld",&a,&da,&b,&db);
	while(a!=0){
		if(a%10==da){    //取模  
			pa=pa*10+da;	
		}
		a/=10;
	}
	while(b!=0){
		if(b%10==db){
			pb=pb*10+db;
		}
		b/=10;
	}
	printf("%lld\n",pa+pb);
	return 0;
} 

需要注意的地方:
1.例如DA等于6,而现在的PA=66,那么当再次碰到A中的新的6的时候,PA=PA*10+6.
2.题目给的范围是10的10次方,所以要用longlong ,不过也可以用字符串来实现。

刷pat的小伙伴们们加油啦!

你可能感兴趣的:(pat乙级)