zoukankan      html  css  js  c++  java
  • C语言大数相加

    #include "stdafx.h"
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    char *MulLargeNum(char *mulA ,char *mulB, char *result)
    {
    	if(mulA == NULL || mulB == NULL) return NULL;
    
    	int lengthA = strlen(mulA);
    	int lengthB = strlen(mulB);
    
    	char *rBuf = new char[lengthA + lengthB + 1];
    	memset(rBuf,0 ,lengthA + lengthB + 1);
    	memset(result,0 ,lengthA + lengthB + 1);
    
    	for (int i = 0; i < lengthA; i++)
    	{
    		for (int j = 0; j < lengthB; j++)
    		{
    			rBuf[i+j+1] += (mulA[i] -'0')*(mulB[j]-'0');
    		}
    	}
    
    	for(int i = lengthA + lengthB - 1; i>0 ;i--)
    	{
    		rBuf[i-1] += rBuf[i]/10;
    		rBuf[i] = rBuf[i]%10+'0';
    	}
    	
    	if(rBuf[0] > 0)
    	{
    		memcpy(result,rBuf,strlen(rBuf));
    	}
    	else
    	{		memcpy(result,&rBuf[1],strlen(&rBuf[1]));		
    	}
    	printf("%s * %s =  %s
    ",mulA,mulB,result);
    	delete rBuf;
    	return result;	
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	char *a = "1234";
    	char *b = "4567";
    	char buf[1000];
    	MulLargeNum(a,b,buf);
    	return 0;	
    }
    

      本题主要考察点   1:函数返回值,为何返回值为char*,因为链式表达式可能使用

              2:参数检查

              3:基本算法功力

  • 相关阅读:
    c# AOP OnExceptionAspect
    标签AttributeUsage 使用
    wpf gridview 滚动懒加载
    vue同级传值
    vue vant解决浏览器刷新导航栏跳转至首页的两个方法
    window.open
    获取data-*属性值
    js点击页面其他地方如何隐藏div元素菜单
    vuecli4升级与搭建项目
    在线转rem
  • 原文地址:https://www.cnblogs.com/wolfrickwang/p/3682793.html
Copyright © 2011-2022 走看看