特大整数相加(C实现)
/*
实现特大整数的相加运算
*/
#include<stdio.h>
#include<string.h>
#define MAX 255
int main(void)
{
char ad1[MAX], ad2[MAX];
int i, j, k, m, n;
printf("请输入第一个大数:\n");
fflush(stdin);
gets(ad1);
printf("请输入第二个大数:\n");
gets(ad2);
m = strlen(ad1);
k = n = strlen(ad2);
if (m > k)
k = m; //k是两个字符串长度的最大值
ad1[k + 1] = 0;
for (i = 0; i < k; i++) //使数组ad1的字符串以ad1[k]右对齐
ad1[k - i] = ad1[m - i - 1];
for (i = 0; i <= k - m; i++) //使数组ad1的高位补0
ad1[i] = '0';
for (i = 0; i < k; i++) //使数组ad2的字符串以ad2[k]右对齐
ad2[k - i] = ad2[n - i - 1];
for (i = 0; i <= k - n; i++) //使数组ad2的高位补0
ad2[i] = '0';
j = 0;
for (i = 0; i <= k; i++)
{
j = (ad1[k - i] + ad2[k - i] + j - 96); //字符转换为整数相加,再加低进位,赋给j
ad1[k - i] = j % 10 + 48; //j整除10的余数转换为字符
j /= 10; //j整除10的商,作为本位的进位数
}
if (ad1[0] == '0')
printf("相加结果等于:\n%s\n", ad1 + 1);
else
printf("相加结果等于:\n%s\n", ad1);
return 0;
}
特大整数相加(C实现)相关推荐
- php二进制整数相加怎么解决_PHP两个n位的二进制整数相加问题的解决
两个n位的二进制整数相加问题PHP实现,供大家参考,具体内容如下 两个n位二进制数分别存储在两个n元数组A和B中,这两个整数的和存在一个n+1元的数组C中 答: 此问题主要是考察相加进位的问题,元素1 ...
- 两个整数相加减是否溢出
#include<stdio.h> #include<stdint.h>// 两个整数相加减,没有溢出时返回0 int tadd_ok(int x, int y) {int s ...
- 超长整数相加 c语言类,二个超长正整数的相加
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 看看这个,定义数组的长度为251,可以实现最长250位的两个整数相加. #include #include main() {int i; char str ...
- java实现两个最大整数相加_JAVA-实现两个超大整数相加
思路: 第一步,把整数倒序存储,整数的个位存于数组0下标位置,最高位存于数组长度-1下标位置.之所以倒序存储,更加符合我们从左到右访问数组的习惯. 我们以 426709752318 + 9548125 ...
- lamaba中reduce方法将集合中的所有整数相加,并返回其总和
reduce:也是对所有值进行操作,但它是将所有值,按照传入的处理逻辑,将结果处理合并为一个 如:将集合中的所有整数相加,并返回其总和 下面看个例子: 如:将集合中的所有整数相加,并返回其总和 代码如 ...
- 漫画:如何实现大整数相加
转载自 漫画:如何实现大整数相加 在程序中列出的 "竖式" 究竟是什么样子呢?我们以 426709752318 + 95481253129 为例,来看看大整数相加的详细步骤: 第 ...
- 1-10 之间的整数相加,得到累加值大于 20 的当前数
//.1-10 之间的整数相加,得到累加值大于 20 的当前数public static void test7(){int sum = 0;for(int i = 1;i<=10;i++){su ...
- php写两个数相加方法_【PHP学习】实现两个n位二进制整数相加
详细内容 本篇文章讲述的是用PHP实现两个n位二进制整数相加 ,具有参考价值,感兴趣的朋友可以学习了解一下. 问题:两个n位二进制数分别存储在两个n元数组A和B中,这两个整数的和存在一个n+1元的数组 ...
- 超大整数相加,超过了long的范围,你要怎么做
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这个只能 ...
最新文章
- MySQL5.5复制新特性
- Eclipse使用的小细节归档
- dedecms织梦list标签按照权重排序
- Commonly Hacked Ports
- [Android] android的消息队列机制
- winform checkbox要点击两次_开源C# Winform控件库SunnyUI强力推荐
- 将Infinispan版本映射为最低Java版本
- Markdown简介
- OpenIN2 Linux 编译OpenCV 报错undefined reference to `xxx@xxx‘
- css3简记,了解一下?
- MATLAB信号的带宽估计及求带宽(3dB,90%带宽)
- 基于FPGA的脉冲压缩设计(Matlab+vivado)
- Window10笔记本电脑如何更改默认浏览器
- 区块链基础:交易模型解读
- 区分各个SQL的概念
- java8/jdk1.8 官网下载地址
- WIN7 安装 SQL2000
- vue大文件上传断点续传解决方案
- JS之使用Echarts画出人际关系图
- 激人奋进的七个经典故事
热门文章
- Java的自动装箱与拆箱详细分析
- java.util.logging log4j,Java核心代碼(十)日志log4j,java.util.logging,commons-logging
- MPLS多协议标签交换技术
- Dijkstra最短路径算法——java代码实现
- 职场上这四件事,越早知道越好
- oracle用户授所有权限,在Oracle模式上授予用户所有权限
- python实现之初等函数三——三角函数
- 戴尔sc系列存储阵列柜服务器,Dell存储Compellent SC4020
- 图:国行HTC 8X修改市场区域
- python绘制五子棋棋盘_4.Python画一个五子棋棋盘