大数相加
2015-11-01 19:14
302 查看
大数相加思想:
用数组储存数字,统一长度,然后同位相加,大于9则进位,取余,判断最高位是否有进位情况
代码如下
#include <stdio.h>
#include <string.h>
char s1[10000];
char s2[10000];
int ss1[10000];
int ss2[10000];
int ss3[10000];
int main()
{
//数组清零
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
memset(ss3,0,sizeof(ss3));
//输入数字
scanf("%s",s1);
scanf("%s",s2);
//测量长度
int l1,l2;
l1=strlen(s1);
l2=strlen(s2);
//数组由char形转换为int形,同时将数组存储位置反转
for(int i=0;i<l1;i++)
ss1[i]=s1[l1-1-i]-'0';
for(int i=0;i<l2;i++)
ss2[i]=s2[l2-1-i]-'0';
//统一长度
if(l1<l2)
l1=l2;
//计算数值
for(int i=0;i<l1;i++)
{
//同位相加,不要忘了加ss3[i],因为可能有进位,防止漏加
ss3[i]=ss1[i]+ss2[i]+ss3[i];
//进位
if(ss3[i]>9)
{
ss3[i+1]=ss3[i]/10;
ss3[i]%=10;
}
}
//输出
//判断是否最高位有进位
if(ss3[l1]!=0)
printf("%d",ss3[l1]);
for(int i=l1-1;i>=0;i--)
printf("%d",ss3[i]);
printf("\n");
return 0;
}
用数组储存数字,统一长度,然后同位相加,大于9则进位,取余,判断最高位是否有进位情况
代码如下
#include <stdio.h>
#include <string.h>
char s1[10000];
char s2[10000];
int ss1[10000];
int ss2[10000];
int ss3[10000];
int main()
{
//数组清零
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
memset(ss3,0,sizeof(ss3));
//输入数字
scanf("%s",s1);
scanf("%s",s2);
//测量长度
int l1,l2;
l1=strlen(s1);
l2=strlen(s2);
//数组由char形转换为int形,同时将数组存储位置反转
for(int i=0;i<l1;i++)
ss1[i]=s1[l1-1-i]-'0';
for(int i=0;i<l2;i++)
ss2[i]=s2[l2-1-i]-'0';
//统一长度
if(l1<l2)
l1=l2;
//计算数值
for(int i=0;i<l1;i++)
{
//同位相加,不要忘了加ss3[i],因为可能有进位,防止漏加
ss3[i]=ss1[i]+ss2[i]+ss3[i];
//进位
if(ss3[i]>9)
{
ss3[i+1]=ss3[i]/10;
ss3[i]%=10;
}
}
//输出
//判断是否最高位有进位
if(ss3[l1]!=0)
printf("%d",ss3[l1]);
for(int i=l1-1;i>=0;i--)
printf("%d",ss3[i]);
printf("\n");
return 0;
}
相关文章推荐
- C++primer 17.4 随机数
- 第九周--项目三--稀疏矩阵的三元组表示的实现及应用(1)
- Java os.name
- 在Ubuntu下手动安装配置Mongodb
- UINavigationController
- Python yield 使用浅析
- UDP穿越NAT原理(p2p)
- Hadoop之HDFS架构(NameNode和DataNode)
- ios学习之苹果官方文档的学习(EKCalendarChooser)
- ubuntu下neural-style-master的demo
- jfinal spring 整合 集成 事物 spring-jfinal
- fl2440开发板上用其他文件系统格式化除根分区以外的分区————例ubifs文件系统格式化apps分区2、
- java中的垃圾收集算法
- dll的创建和使用的整理【部分转载】
- 数据库基础
- HDU 5533 Dancing Stars on Me(判断n个整数点是否能组成正n边形)——2015ACM/ICPC亚洲区长春站
- IOS开发常用英文单词总结
- mybatis(7)一对一查询
- [BZOJ2743] [HEOI2012]采花
- LeetCode Contains Duplicate III