当前位置: 首页 > news >正文

南阳建设重要区域中心城市网站零基础学设计

南阳建设重要区域中心城市网站,零基础学设计,个人网站备案成功后换,资阳住房和城乡建设厅官方网站点击 <C 语言编程核心突破> 快速C语言入门 用C语言实现一个大整数加法 前言一、思路和代码设计数字对齐:字符对齐: 二、代码总结 前言 要解决问题: 实现大整数加法 想到的思路: 用字符代替数字, 逐个计算, 过10进位. 其它的补充: 同样思路可以解决减法, 乘法, 但除法…

点击 <C 语言编程核心突破> 快速C语言入门


用C语言实现一个大整数加法

  • 前言
  • 一、思路和代码设计
    • 数字对齐:
    • 字符对齐:
  • 二、代码
  • 总结


前言

要解决问题: 实现大整数加法

想到的思路: 用字符代替数字, 逐个计算, 过10进位.

其它的补充: 同样思路可以解决减法, 乘法, 但除法没有想到如何解决.


一、思路和代码设计

C语言的整型都是有位数限制的, 用字符代替整型进行计算, 然后输出可能是比较直接的解决思路.

加法有两个问题要解决, 对齐以及进位.

加法算式是右对齐, 字符串则是左对齐, 比较可行的方案是字符串计算前倒置, 算出结果后再倒置回来.

数字对齐:

数字对齐

字符对齐:

字符对齐

进位则要将相应位置的结果除以十, 余数留下, 商作为一个修正, 和向后移动一位字符的位置的数字计算结果相加.

二、代码

#include <stdio.h>
#include <string.h>#define MAX_LEN 1024char lhs[MAX_LEN];
char rhs[MAX_LEN];
char result[MAX_LEN];int reverse(char *str);
void add(char *lhs, char *rhs, char *result);int main()
{scanf("%s %s", lhs, rhs);add(lhs, rhs, result);printf("%s\n", result);return 0;
}int reverse(char *str)
{const int len = (int)strlen(str);char temp;for (int i = 0; i != len / 2; i++){temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}return len;
}void add(char *lhs, char *rhs, char *result)
{int lhsLen = reverse(lhs);int rhsLen = reverse(rhs);int carry = 0;const int ten = 10;for (int i = 0, j = 0, sum; i < lhsLen || j < rhsLen; i++, j++){sum = (i < lhsLen ? lhs[i] - '0' : 0) +(j < rhsLen ? rhs[j] - '0' : 0) + carry;result[i] = (char)(sum % ten + '0');carry = sum / ten;}int maxLen = lhsLen > rhsLen ? lhsLen : rhsLen;if (carry > 0){result[maxLen++] = (char)(carry + '0');}result[maxLen] = '\0';reverse(result);
}

总结

用C语言实现大整数加法, 就是将数学的基本运算翻译为程序, 可能实现的效率不一定很高, 相比较整型原生的计算, 但作为一个学习材料还是可以的.


点击 <C 语言编程核心突破> 快速C语言入门


http://www.yayakq.cn/news/928794/

相关文章:

  • 荣耀手机官方网站南昌商城网站设计
  • 临沂市住房和城乡建设局网站重庆项目经理在建项目查询
  • 企业网站推广平台手机中国第一专业门户
  • 无锡 网站制作 大公司做鞋的网站
  • 个人网站可以做商业吗sticky wordpress html
  • 海南做网站找谁继续加强网站建设
  • 无锡网站制作的公司有哪些卖域名赚钱吗
  • 南京网站建设开发河南公司网站制作咨询
  • 可以做任务挣钱的网站四网一体网站建设方案
  • 网站用哪些系统做的比较好直播软件有哪些平台
  • 关于免费制作网页的网站深圳网站和app建设
  • 网站服务器租用你的知识宝库drupal 网站开发
  • 市桥网站建设培训学校网页网页设计班
  • 网站加网页做二手网站
  • 公司网站制作要多少钱朋友圈转wordpress文章显示缩略图
  • 官网站内优化怎么做 2018wordpress插件怎么破解
  • 订阅号可以做网站么网站建设上市公司
  • seo网站推广作用邯郸二手房出售信息
  • 网站和网页不同吗企业信息系统包括
  • 手机版网站如何建设国家住建网查企业资质
  • 一个公司做几个网站网站logo替换
  • 广东响应式网站杭州网站建设商业
  • 装饰公司怎么做网站公司展示型网站
  • 广安 网站建设自己怎么制作图片
  • 网站导航二级菜单怎么做出来的公司装修效果图办公室
  • 汽车网站制作模板大型网站 网站建设
  • 武安网站制作淮安网站建设哪家好
  • 大会的网站架构如何推广外贸型网站
  • 网站开发 合同范本移动端开发需要学什么
  • 江西住房和城乡建设部网站首页中国央企100强排名