社区讨论

我感觉没问题啊?为什么全通过不了

P1601高精度加法参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lpmfdab5
此快照首次捕获于
2023/12/01 17:31
2 年前
此快照最后确认于
2023/12/01 20:10
2 年前
查看原帖
C
#include<stdio.h>
#include<string.h>
int max(int a,int b){
	int max;
	if(a > b) max = a;
	else max = b;
	return max;
}
int High_precision_addition(char a[], char b[]) {
    int size_a = strlen(a), size_b = strlen(b);
    int la = size_a, lb = size_b;
    char a1[505], b1[505], c[505] = {0};

    for (int i = 0; i < la; i++) {
        a1[la - i] = a[i] - '0';
    }
    for (int i = 0; i < lb; i++) {
        b1[lb - i] = b[i] - '0';
    }

    int lc = max(la, lb) + 1;
    for (int i = 0; i < lc; i++) {
        c[i] += a1[i] + b1[i];
        c[i + 1] = c[i] / 10;
        c[i] = c[i] % 10;
    }
    if (c[lc] == 0 && lc > 0) lc--;

    for (int i = lc; i > 0; i--) {
        printf("%d",c[i]);
    }
    return 0;
}
int main(){
	char a[505],b[505];
	gets(a);
	gets(b);
	High_precision_addition(a,b);
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...