社区讨论

用c仿照第一题解提交却全错,求解问题所在

P1303A*B Problem参与者 5已保存回复 9

讨论操作

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

当前回复
8 条
当前快照
1 份
快照标识符
@lt1if7ee
此快照首次捕获于
2024/02/25 20:52
2 年前
此快照最后确认于
2024/02/26 12:33
2 年前
查看原帖
C
#include<stdio.h>
#include<string.h>
int main()
{
	int a[2100] = { 0 }, b[2100] = { 0 }, c[4200] = { 0 };
	int len1 = 0, len2 = 0, i = 0, j = 0, len = 0;
	char a1[2100], b1[2100];
	gets(a1);
	gets(b1);
	len1 = strlen(a1);
	len2 = strlen(b1);
	for (i = 1; i <= len1; i++)
		a[i] = a1[len1 - i] - '0';

	for (i = 1; i <= len2; i++)
		b[i] = b1[len2 - i] - '0';

	for (i = 1; i <=len1; i++)
		for (j = 1; j <=len2; j++)
			c[i+j-1] += a[i] * b[j];

	for (i = 1; i < len1 + len2; i++)
	{
		if (c[i] > 9)
		{
			c[i + 1] += c[i] / 10;
			c[i] %= 10;
		}
	}
	len = len1 + len2;
	while (c[len] == 0 && len > 1)
		len--;
	for (i = len; i >= 1; i--)
		printf("%d", c[i]);
	return 0;
}

回复

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

正在加载回复...