一百位数以上的乘法代码
时间: 2023-04-03 15:04:42 浏览: 127
以下是一个计算一百位数以上乘法的代码示例:
#include <stdio.h>
#include <string.h>
#define MAX_LEN 1000
void reverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char num1[MAX_LEN], num2[MAX_LEN];
int result[MAX_LEN] = {0};
printf("请输入第一个数:");
scanf("%s", num1);
printf("请输入第二个数:");
scanf("%s", num2);
int len1 = strlen(num1);
int len2 = strlen(num2);
// 计算乘积
for (int i = 0; i < len1; i++) {
for (int j = 0; j < len2; j++) {
result[i + j] += (num1[i] - '0') * (num2[j] - '0');
}
}
// 处理进位
for (int i = 0; i < len1 + len2 - 1; i++) {
result[i + 1] += result[i] / 10;
result[i] %= 10;
}
// 去掉前导零
int i = len1 + len2 - 1;
while (i > 0 && result[i] == 0) {
i--;
}
// 输出结果
printf("乘积为:");
for (; i >= 0; i--) {
printf("%d", result[i]);
}
printf("\n");
return 0;
}
阅读全文