您的位置:首页 > 编程语言 > C语言/C++

C语言实现大数相乘

2016-03-28 13:27 471 查看
#include<iostream>
#include<string.h>
void add(char x[], char y[], char sum[]);
void shuchu(char sum[]);
int main()
{
char sss[100] = {0};
char x[100];
char y[100];
int k = 0;
gets(x);
gets(y);
add(x, y, sss);
return 0;
}
void add(char x[], char y[], char sum[])
{
int jw = 0;
int counter = 0;
char convert_x[100] = { 0 };
char convert_y[100] = { 0 };
char convert_x1[100] = { 0 };
int lenx = strlen(x);
int leny = strlen(y);
for (int i = 0; i < lenx; i++)
{
convert_x[i] = x[lenx-i-1]-'0';
convert_x1[i] = x[lenx - i - 1];
}
for (int j = 0 ; j < leny; j++)
{
convert_y[j] = y[leny-j-1]-'0';
}
for (int k = 0; k <=strlen(x) || k <=strlen(y); k++)
{
sum[k] = (convert_x[k] + convert_y[k] + jw) % 10+'0';
jw = (convert_x[k] + convert_y[k] + jw) / 10;
if (convert_x[k] + convert_y[k] == 10 && jw == 0)
{
jw = 1;
}
}
}
void shuchu(char sum[])
{
for (int i = strlen(sum) - 1; i >= 0; i--)
{
std::cout << sum[i];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: