大数据加减(Big data addition and subtraction)
一行:一个加法或减法的表达式
输出格式:
一个正整数,表示计算的结果(不可以有前导0)
123456789
#include<stdio.h>
#include<string.h>
int a[]={},b[]={};
int i,ka,kb,k,c,temp;
char s[],ch;
void plus()//高精度加法函数
{
for(i=;i<k;i++)
{
a[i]=a[i]+b[i]+c;//按位加
if(a[i]>=)//处理进位(满十进一)
{
a[i]=a[i]%;
c=;
}
else c=;
}
if(c>)
{
a[k]=c;
k++;
}
}
void minus()//高精度减法函数
{
for(i=;i<ka;i++)
{
if(a[i]<b[i])//判断这一位计算是否要借位
{
c=;
a[i+]--;
}
else
c=;
a[i]=a[i]+c*-b[i];//计算这一位的结果
k=ka;
while(a[k-]==&&k>)
k--;
}
}
int main()
{
scanf("%s",s);
k=;
while((s[k]!='+')&&(s[k]!='-'))//以运算符为界,分开两个操作数,期前部分计入数组a
{
a[k]=s[k]-'';
k++;
}
ch=s[k];//记录操作符
ka=k;//记录操作符当前位置
kb=;
k++;//跳过继续
while(k<strlen(s))//运算符后部分计入数组b
{
b[kb]=s[k]-'';
k++;
kb++;//记录运算符后部分的位数
}
if(ka>=kb) k=ka;//取a和b的最大长度,以便进行按位计算
else k=kb;
for(i=;i<ka/;i++)//读入是从高位到低位的顺序,计算之前应该反序
{
temp=a[i];
a[i]=a[ka-i-];
a[ka--i]=temp;
}
for(i=;i<kb/;i++)//读入是从高位到低位的顺序,计算之前应该反序
{
temp=b[i];
b[i]=b[ka-i-];
b[ka--i]=temp;
}
c=;//进位初始化
if(ch=='+')//传入加法函数
plus();
else //传入减法函数
minus();
for(i=k-;i>=;i--)//按倒序输出结果
{
printf("%d",a[i]);
}
printf("\n");
return ;
}
大数据加减(Big data addition and subtraction)的更多相关文章
- [Swift]LeetCode592. 分数加减运算 | Fraction Addition and Subtraction
Given a string representing an expression of fraction addition and subtraction, you need to return t ...
- 大整数加减运算的C语言实现
目录 大整数加减运算的C语言实现 一. 问题提出 二. 代码实现 三. 效果验证 大整数加减运算的C语言实现 标签: 大整数加减 C 一. 问题提出 培训老师给出一个题目:用C语言实现一个大整数计算器 ...
- [Aaronyang] 写给自己的WPF4.5 笔记6[三巴掌-大数据加载与WPF4.5 验证体系详解 2/3]
我要做回自己--Aaronyang的博客(www.ayjs.net) 博客摘要: Virtualizing虚拟化DEMO 和 大数据加载的思路及相关知识 WPF数据提供者的使用ObjectDataPr ...
- WPF 大数据加载过程中的等待效果——圆圈转动
大家肯定遇到过或将要遇到加载大数据的时候,如果出现长时间的空白等待,一般人的概念会是:难道卡死了? 作为一个懂技术的挨踢技术,即使你明知道数据量太大正在加载,但是假如看不到任何动静,自己觉得还是一种很 ...
- DevExpress ChartControl大数据加载时有哪些性能优化方法
DevExpress ChartControl加载大数据量数据时的性能优化方法有哪些? 关于图表优化,可从以下几个方面解决: 1.关闭不需要的可视化的元素(如LineMarkers, Labels等) ...
- asp.net中TreeView的大数据加载速度优化
由于数据量太大,加载树时间很长,所以进行了优化 前台 .aspx <asp:Panel ID="Panel2" runat="server" Height ...
- 大数据除法(Large data division)
题目描述 Description 除法是计算中的基础运算,虽然规则简单,但是位数太多了,也难免会出错.现在的问题是:给定任意位数(足够大就可以啦O(∩_∩)O)的一个被除数,再给定一个long lon ...
- javascript数据加减问题
需要parseInt把获取到的html(),text()的值转换为数字型,然后进行加减乘除操作就可以了:
- PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)
100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...
随机推荐
- android log4j日志管理的使用
以下为log4j1的日志管理,在android 6.0 一下能正常使用,时候更加高级的胃log4j2,持续跟新 android中的log4j日志文件使用需要两个包,我们不需要进行配置文件的配置,一切都 ...
- hibernate事务控制
在使用ssh中将事务委托给spring时老是出现事务不可用 经过检查,原因如下: 是因为在hibernate.cfg.xml文件中忘记进行了如下设置: hibernate.current_sessio ...
- iScroll 下 a 标签失效
遇到个莫名其妙的问题,iScroll 下的 a 标签点击没有反应了,不管怎么调整 z-index 都无效果,很是无语. 查找半天后找到解决方法: $(function(){ new IScroll(' ...
- 【1】JavaScript编程全解笔记(一)
1.概述 本书涵盖了 JavaScript 各个方面的主题,从客户端以及服务端 JavaScript 等基础内容,主要讲了 HTML5.Web API.Node.js 与 WebSocket 等技术 ...
- Ddos 攻击
title: Ddos 防御相关 tags: Ddos, 安全, 防御 grammar_cjkRuby: true --- 防御基础 1.1. 攻击流量到底多大 谈到DDoS防御,首先就是要知道到底遭 ...
- Jquery几秒自动跳转
$(document).ready(function() { function jump(count) { window.setTimeout(function(){ count--; if(coun ...
- @classmethod及@staticmethod方法浅析【python】
目前对于python中@classmethod 类方法和@staticmethod静态方法的有了一定的认识,之后有进一步的认识后继续记录. @classmethod :是和一个class类相关的方法, ...
- Objective-C Runtime 运行时之二:成员变量与属性(转载)
在前面一篇文章中,我们介绍了Runtime中与类和对象相关的内容,从这章开始,我们将讨论类实现细节相关的内容,主要包括类中成员变量,属性,方法,协议与分类的实现. 本章的主要内容将聚集在Runtime ...
- css margin相关问题及应用
一.margin常见问题 1.IE6下双边距问题 margin双布局可以说是IE6下经典的bug之一.产生的条件是:block元素+浮动+margin. 2.maring重叠的问题 css2.0规范对 ...
- 百度地图api写在html上可以实现,在jsp上会出现Bmap未定义的问题
在html上引用时用:<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0& ...