大数据:add
来源:互联网 发布:视频照片制作软件 编辑:程序博客网 时间:2024/06/03 03:32
#include <stdio.h>#include <stdlib.h>#include <string.h>void add(char *s1,char *s2,char *ret){int len1=strlen(s1);int len2=strlen(s2);int max,min;if(len1>=len2) { max=len1; min=len2; }else { max=len2; min=len1; }int len3=max+1;int i,j,k,m;i=min-1;j=max-1;k=len3-1;char *s=(char *)malloc(sizeof(char)*len3);memset(s,'0',len3);//对结果各位赋值为'0'/*for(m=0;m<len3;m++)//对结果各位赋值为'0' s[m]='0';*///不考虑进位,进行加法计算/////////////////////////////////if(min==len1) { for(; i>=0;i--) { s[k]=s1[i]+s2[j]-'0'; k--; j--; } for(;j>=0;j--,k--) { s[k]=s2[j]; } }else { for(; i>=0;i--) { s[k]=s2[i]+s1[j]-'0'; k--; j--; } for(;j>=0;j--,k--) { s[k]=s1[j]; } }///////////////////////////for(k=len3-1;k>=0;k--) //处理各位的进位 { if(s[k]>'9') { //ret[k]=ret[k]%58+'0'; s[k]=s[k]-10; s[k-1]++; } //printf("%c",ret[k]); }/////////////////////////////////////i=0;while(s[i]=='0')//处理前导零的情况 i++;for(j=0;i<len3;i++,j++) //计算最终结果 ret[j]=s[i];ret[j]='\0';free(s);}int main(){char str1[100];char str2[100];char str3[100+1];int i;memset(str1,0,sizeof(str1));memset(str2,0,sizeof(str2));memset(str3,0,sizeof(str3));printf("请输入第一个数:\n");gets(str1);printf("请输入第二个数:\n");gets(str2);add(str1,str2,str3);for(i=0;i<strlen(str3);i++) printf("%c",str3[i]); return 0;}
0 0
- 大数据:add
- [leetcode] add two numbers(大数据加法链表版)
- 插入数据Parameters.add
- 大整数求和算法Add
- 特别大的数add
- ThinkPHP 添加数据 add() 方法
- thinkphp添加数据add方法
- ThinkPHP无法add保存数据
- LeetCode Add Strings(大整数加法)
- 415. Add Strings | 大整数相加
- 大数据
- 大数据
- 大数据
- 大数据
- 大数据
- 大数据
- 大数据
- 大数据
- 安装CentOS7操作系统
- GoldenGate学习笔记一_进程、目录与参数配置
- vs2008 水晶报表升级到 vs2013对应版本
- Java 2实用教程 学习之类与程序
- jQuery和CSS3网页固定背景视觉差特效插件
- 大数据:add
- JAVA 计算地球上任意两点(经纬度)距离
- 产品经理
- std::tr1::function 的资料--------effective C++ 条款 35相关
- boost中移动语义的支持
- week6--4月8日
- 字母数字汉字排序问题
- java对象克隆clone
- DirectSound播放音频应用程序开发快速入门