解决OJ 反馈“输出超限”

问题

正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。

现给定A、DA、B、DB,请编写程序计算PA + PB。

原答案

#include<stdio.h>
int main() {
	long long a,b;
	int da,db;
	char stra[50];
	char strb[50];
	int i = 0,j = 0;
	int pa = 0,pb = 0;
	while(scanf("%lld %d %lld %d",&a,&da,&b,&db)) {
		pa = 0,pb = 0;
		while(a != 0) {
			int dana = a % 10;
			if(dana == da)
				i++;
			a /= 10;
		}
		while(b != 0) {
			int danb = b % 10;
			if(danb == db)
				j++;
			b /= 10;
		}
		while(i>0) {
			pa = pa * 10 + 1;
			i--;
		}
		while(j>0) {
			pb = pb * 10 + 1;
			j--;
		}
		pa = pa * da;
		pb = pb * db;
		printf("%d",pa+pb);
	}
}

OJ反馈

在这里插入图片描述

答案修改

原来是自己在写输入结束忘记添加 != EOF
虽然编译器没有报出任何错误
修改之后
在这里插入图片描述

posted @ 2021-03-01 20:38  我就是隔壁老张  阅读(734)  评论(0编辑  收藏  举报