用c编一个50位数乘以一个一位数的结果。
望大虾们帮帮小弟!不胜感激。
用c编一个50位数乘以一个一位数的结果。
望大虾们帮帮小弟!不胜感激。
#include<stdio.h>
#include<string.h>
main()
{
char number[52] = {'\0'}; //用来保存大数的数组
char result[53] = {'\0'}; // 用于保存结果的数组
int n; //你要输入的乘数
int r = 0; //用于保存进位的数
int mul; //用来保存每次相乘以后的数
int len; //用于存放大数的长度
int i; //用于遍历
printf("Please input the big number:\n");
scanf("%s",number);
printf("Please input the multiple number:\n");
scanf("%d",&n);
len = strlen(number);
for (i = len-1; i >= 0; i--)
{
mul = (number[i] - '0') * n;
if ((mul%10 + r) >= 10)
{
result[i+1] = ((mul%10 + r) - 10) + '0';
r = mul/10 + 1;
}
else
{
result[i+1] = (mul%10 + r) + '0';
r = mul/10;
}
}
result[0] = r + '0';
printf("%s\n",result);
}