求问大佬为什么三个wa 两个re
查看原帖
求问大佬为什么三个wa 两个re
757018
Peng0v0楼主2022/9/22 16:52
#include <stdio.h>
#define NUMBER 1520
int i, c, n1, n2;
int num1[NUMBER] = { 0 };
int num2[NUMBER] = { 0 };
int convert(int n,int num[]) {
	if (n % 2 == 0) {
		for (i = 0; i < n / 2; i++) {
			int temp;
			temp = num[i];
			num[i] = num[n - 1 - i];
			num[n - 1 - i] = temp;
		}
	}
	else {
		for (i = 0; i < (n+1) / 2; i++) {
			int temp;
			temp = num[i];
			num[i] = num[n - 1 - i];
			num[n - 1 - i] = temp;
		}

	}
	return 0;
}
int max(int n1, int n2) {
	int max = n1;
	if (n2 > max)
		return n2;
	return max;
}

int main(){
	/*解决输入的问题*/
	i = 0;
	while ((c = getchar() - '0') != '\n' - '0') {
		num1[i++] = c;
	}
	n1 = i;
	i = 0;
	while ((c = getchar() - '0') != '\n' - '0') {
		num2[i++] = c;
	}
	n2 = i;
	convert(n1, num1);
	convert(n2, num2);
	int max2 = max(n1, n2);


	/*解决加法的问题*/
	for (i = 0; i < max2; i++) {
		num1[i] += num2[i];
		if (num1[i] / 10){
			num1[i] %= 10;
			num1[i + 1]++;
		}
			
	}
	
	if (num1[max2])
		max2++;

	
	convert(max2, num1);
	for (i = 0; i < max2; i++) {
		printf("%d",num1[i]);
	}
	return 0;
}
2022/9/22 16:52
加载中...