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

网页制作免费网站丽水城乡建设局网站

网页制作免费网站,丽水城乡建设局网站,上海营销型网站标准,wordpress经典主题选择点击 <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/478141/

相关文章:

  • 企业网站怎么做连接抖音官方推广渠道
  • 中小型企业电子商务网站建设东营考试信息网
  • 常州企业网站建设价格wordpress破解主题
  • 能注册通用网址的网站wordpress段落间距
  • 南京建设厅官方网站英文网站怎么设置中文
  • 怎么建设网站卖东西云服务器网站配置
  • vs2013做网站保存的格式计算机网站开发职业定位
  • 几级英语可以做外贸网站seo网站到期续费通知
  • wordpress中文站点有限责任公司的设立条件有哪些
  • 无极领域0基础12天精通网站建设哪个网站可以改字体
  • 河南做网站推广哪个好app网页制作软件
  • 制作网站 服务器配置做网站毕设任务书
  • 厦门建网站网络推广工具大全
  • 谷歌 网站开发中山视角做网站的公司
  • c2750服务器做网站行吗ps免费素材网站有哪些
  • 做京东电脑端首页链接的网站大良营销网站建设案例
  • a5网站诊断塘沽信息
  • 搜书网站 怎么做优化seo系统
  • 网站优化及推广方案做网站技术
  • 灯具设计网站推荐百度seo快速见效方法
  • 长沙网站建设哪家强私人架设服务器
  • 广州学校网站建设求购机械加工
  • 三明seo优化绵阳网站建设优化
  • 网站建设培训教程优秀的移动网站
  • 贵阳网站托管word上下页边距怎么调
  • 做网站公司选择哪家好短视频网站建设方案
  • 西安关键词网站排名沈阳网站建设syxhrkj
  • 学校网站asp昆明网络公司收费标准
  • 学ui设计网站上海科技网站设计建设
  • 建设标准下载网站嘉兴网站建设咨询