高精度减法(C语言实现)
高精度,是学C语言漫长的路上必须要学的一类程序
>>>高精度加法(C语言实现)<<<
>>>高精度减法(C语言实现)<<<
>>>高精度乘法(高精乘低精)(C语言实现)<<<
>>>高精度乘法(高精乘高精)(C语言实现)<<<
>>>高精度除法(高精除低精)(C语言实现)<<<
#源代码&注释
//小程序版
#include <stdio.h>
#include <string.h>char s[10100],ss[10100];
int a[10100],b[10100];
int len; /*-------------高精度减法--------------*/
void jian()
{int l1 = strlen(s); //字符串长度 int l2 = strlen(ss);int flag = 0; //一个记录正负的变量(后面就知道啦) memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); if ( l1 < l2 || (strcmp(s,ss) < 0 && l1 == l2) ) //这个比较重要是来判断前后两数的大小的 { //不然一个小的数减一个大的数是大于零的就尴尬了flag = 1; //这里是把正负记录下来 for (int i = l2 - 1 ; i >= 0 ; i--) //倒过来输入 a[l2 - i - 1] = ss[i] - '0'; //将字符串里的字符转换为数字 for (int i = l1 - 1 ; i >= 0 ; i--)b[l1 - i - 1] = s[i] - '0';}else{for (int i = l1 - 1 ; i >= 0 ; i--) //同理,倒过来输入 a[l1 - i - 1] = s[i] - '0';for (int i = l2 - 1 ; i >= 0 ; i--)b[l2 - i - 1] = ss[i] - '0';}if (l1 > l2) len = l1; //len赋值为其中大的数 else len = l2; for (int i = 0 ; i < len ; i++){a[i] = a[i] - b[i]; //运算 if (a[i] < 0) //如果减得多了 {a[i+1]-=1; //向前要一位 a[i]+=10; }}while (a[len - 1] == 0 && len>1) len--; //while去零法,了解一下(名字现编的,别搜百度了) if (flag == 1) printf("-"); //如果结果是负的,先输出一个负号 for (int i = len - 1 ;i >= 0 ;i--) //再输出结果 printf("%d",a[i]);printf("\n"); //换行
} //高精度减法你懂了吗? void print()
{printf("高精度减法(By STY)\n\n");printf("退出请按“Ctrl+Z”(在键盘上),并按回车,谢谢使用!\n"); printf("请输入两个数字:\n");printf("数字:(用空格隔开)\n");
}int main()
{print();while (scanf("%s%s",s,ss)!=EOF){printf("\n结果:\n"); jian(); //引用高精度减法函数printf("\n\n");print();}return 0;
}
这就是高精度减法的整段代码,
希望大家在看了这篇文章后理解和会使用高精度减法的运算了
希望大家喜欢这篇文章!!!
如有问题请留言,谢谢!!!
>>>我的博客<<<
高精度减法(C语言实现)相关推荐
- C语言实现高精度减法
大一小白尝试C语言高精度减法 一.引言 笔者是一位大一学生,在做题的过程中接触到了高精度除法,而其中计算商的过程中需要用到高精度减法,因此写下这篇博客帮助理清思路.希望这篇博客能够帮助到更多刚接触C语 ...
- CCF NOI1139 高精度减法
问题链接:CCF NOI1139 高精度减法. 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 给两个正整数a和b,计算它们的差.题目保证a>=b 输入 两行每行一个数, ...
- 高精度减法(C++实现)
高精度减法 简介 用于计算含有超过一般变量存放不下的非负整数 高精度加法这个过程是模拟的小学竖式减法计算 注:在本文中,我们默认输入的第一个数为被减数,且被减数大于减数 原理基本上与高精度加法相同,仅 ...
- 高精度减法(洛谷-P2142)
题目描述 高精度减法 输入输出格式 输入格式: 两个整数a,b(第二个可能比第一个大) 输出格式: 结果(是负数要输出负号) 输入输出样例 输入样例#1: 2 1 输出样例#1: 1 源代码 #inc ...
- c语言用数组存储高精度数,高精度运算c语言.pptx
<高精度运算c语言.pptx>由会员分享,可在线阅读,更多相关<高精度运算c语言.pptx(20页珍藏版)>请在人人文库网上搜索. 1.高精度运算,运算的前提条件:类型范围,确 ...
- (压位)高精度乘法,高精度加法,高精度减法,高精度除法
大值 乘 大值: 题目链接:https://www.luogu.com.cn/problem/P1303 # include <iostream> # include <string ...
- 高精度算法——高精度减法
介绍: 高精度减法也同加法一样,也是用于位数太大的运算,给你一个十几位的数你可能会做直接开个long long 的数据类型就解决了,但是给你一个100位的呢,1000位的呢,开long long 也不 ...
- 高精度加法 高精度减法 高度除法 高精度乘法 方法总结
一.引言 对于数字的储存,用实数类型总会有一些不足,比如: 使用int 只能最多存储4个字节,范围也就是2的32次方: 使用double 只能最多储存8字节,就是2的64次方: 如果数字超过这个限制, ...
- Java实现 蓝桥杯 算法提高 高精度减法(JDK方法)
试题 算法提高 高精度减法 问题描述 高精度减法 输入格式 两行,表示两个非负整数a.b,且有a > b. 输出格式 一行,表示a与b的差 样例输入 1234567890987654321 99 ...
最新文章
- 再谈Linux修改应用程序获得root权限
- 静脉识别实现初步发展 多模态或成未来趋势
- 快速排序时间复杂度为O(n×log(n))的证明
- Demo能为游戏带来什么?
- 用计算机实现智能解题,浙江省信息技术学考复习模块2——计算机功能、智能处理、字处理...
- OpenCV中的神器Image Watch
- SMOTE/SMOTEEN 处理不平衡数据集
- python文件函数_Python closed()函数:关闭打开的文件
- nodejs 快速发布rtsp server
- Android Stduio 发生 Process ‘command ‘somePath:java.exe‘‘ finished with non-zero exit value 2 异常的解决办法
- oracle中如何模糊匹配,oracle中的截取,模糊匹配小结
- 拦截器和过滤器的执行顺序和区别
- Amoeba配置读写分离
- 机器学习之用Hog+Svm人脸检测、交通标志和字符识别等(初学者)
- 【JVM Ⅵ】GC相关概念+引用
- 0809 电子科学与技术一级学科简介
- 创业,你踩过哪些坑?
- 交友项目【查询黑名单人员,移除黑名单人员】功能实现
- 【论文解读 | AAAI2020】NeuralCD:Neural Cognitive Diagnosis for Intelligent Education Systems
- Ubuntu18.04+ROS melodic 控制UR5机器人(持续更新)
热门文章
- STC12C5A60S2系列单片机PCA时钟源设置
- 【字源大挪移—读书笔记】 第一部分:字首
- 使用计算机开机按啥建,学生计算器第一次使用应该如何开机
- C---------------LessonCircle
- 采埃孚ZF EDI DESADV需求实现
- 加勒比海盗船-最优装载问题(2021/1/16)
- 指尖江湖李忘生鸿蒙初开,剑网3指尖江湖李忘生怎么样_李忘生装备搭配、技能特性、解锁方法介绍_游戏吧...
- UTF8、UTF16、UTF32区别
- Ubuntu16.04更改新加卷名称
- 计算机访学面试,国家公派访问学者面试经典问题总结