编程训练大数相乘

#include "stdio.h"
#include "string.h"
#define MAX 1024
void getDigits(int *a,char *str)
{
	int len = strlen(str);
	int i=0;
	char c;
	for(i=0;i=0;i--)
	{
		if(c[i]!=0)
			break;
	}
	for(;i>=0;i--)
		printf("%d",c[i]);
}
int main()
{
	char *str1=(char *)malloc(sizeof(char)*MAX);
	char *str2=(char *)malloc(sizeof(char)*MAX);
	int a[MAX];
	int b[MAX];
	int c[2*MAX];
	int i=0;
	memset(a,0,MAX*sizeof(int));
	memset(b,0,MAX*sizeof(int));
	memset(c,0,2*MAX*sizeof(int));
	scanf("%s",str1);
	scanf("%s",str2);
	getDigits(a,str1);
	getDigits(b,str2);
	multi(a,b,c);
    printDigit(c);
	free(str1);
	free(str2);
	
	return 0;
}

实现起来需要考虑低位和高位的情况

字符串位置0存放高位信息,然后转为数组 位置0应该是低位信息


你可能感兴趣的:(算法学习)