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

搜房网站要怎么 做4001688688人工服务

搜房网站要怎么 做,4001688688人工服务,阜阳做网站公司,网站侧边 跟随 样式作者 李卫明 单位 杭州电子科技大学 1.8 无符号大数加、减运算。程序设计中经常遇到无符号大数加、减运算问题,请在样例程序Ex1.4基础上实现无符号大数减运算。题目要求输入两个无符号大数,保证一个大数不小于第二个大数,输出它们的和、差。…

作者 李卫明

单位 杭州电子科技大学

1.8 无符号大数加、减运算。程序设计中经常遇到无符号大数加、减运算问题,请在样例程序Ex1.4基础上实现无符号大数减运算。题目要求输入两个无符号大数,保证一个大数不小于第二个大数,输出它们的和、差。

输入格式:

两个无符号大数,前一个大于等于第二个。

输出格式:

第1行为两个无符号大数相加结果,后一行为两个无符号大数相减结果。

输入样例:

1234567890987654321333888999666
147655765659657669789687967867

输出样例:

在这里给出相应的输出。例如:

1234567890987654321333888999666+147655765659657669789687967867=1382223656647311991123576967533
1234567890987654321333888999666-147655765659657669789687967867=1086912125327996651544201031799

代码长度限制

16 KB

时间限制

4000 ms

内存限制

64 MB

栈限制

8192 KB

C程序如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define Maxsize 1000typedef struct Number {//定义结构体字符串char data[Maxsize];//定义Data的最大值int place;//当前数组的长度int size;//数组的最大长度
} Number, *num;num Init();//初始化字符串
void Append(num number);//向字符串中加字符
void InvertArray(num number);//反转字符串
num add(num big, num small, num sum);//对两个字符串做加法
num subtract(num big, num small, num difference);//对两个字符串做减法
void Display(num end);//输出运算结果int main() {num big = Init();//初始化较大的字符串num small = Init();//初始化较小的字符串num sum = Init();//初始化加法字符串num difference = Init();//初始化减法字符串Append(big);//向较大字符串中加入字符Append(small);//向较小字符串中加入字符InvertArray(big);//反转较大字符串InvertArray(small);//反转较小的字符串Display(big);printf("+");Display(small);printf("=");sum = add(big, small, sum);//求和Display(sum);//输出结果printf("\n");Display(big);printf("-");Display(small);printf("=");difference = subtract(big, small, difference);//求差Display(difference);//输出结果printf("\n");return 0;
}num Init() {num New = (num)malloc(sizeof(Number));//向内存申请一片空间New->place = 0;//初始化字符串的长度为0New->size = Maxsize;//初始化字符串的最大值为Maxsizereturn New;//返回申请空间的内存首地址
}void Append(num number) {char s;while ((s = getchar()) != '\n' && s != EOF) {//读取字符串,如果读取成功则进入循环if (s >= '0' && s <= '9') {number->data[number->place++] = s - '0';//读入数字且长度加一}}number->data[number->place] = '\0';//注意在字符串之后加上结束符
}void InvertArray(num number) {char temp;for (int i = 0; i < number->place / 2; i++) {//循环字符串长度的一半即可完成反转temp = number->data[i];number->data[i] = number->data[number->place - i - 1];number->data[number->place - i - 1] = temp;}
}num add(num big, num small, num sum) {int carry = 0, i;//carry为进位for (i = 0; i < big->place || i < small->place || carry; i++) {//只要其中一个没有读取完就继续读取int digit1 = big->data[i];//取出较大数的第一位,因为反转过,所以第一位就是个位int digit2 = small->data[i];//同理取较小数的个位int result = digit1 + digit2 + carry;//两数相加再加上进位,第一次相加时进位为0sum->data[i] = result % 10;//结果取余后即为最终的结果carry = result / 10;//进位数更新}sum->place = i;//最终的i即为答案的长度return sum;
}num subtract(num big, num small, num difference) {int borrow = 0, i;//borrow为借位for (i = 0; i < big->place; i++) {int digit1 = big->data[i];int digit2 = small->data[i];int result = digit1 - digit2 - borrow;//结果相减再减去上一次的借位,第一次借位为0if (result < 0) {//若答案小于0result += 10;//则向上一位再借一,即加十borrow = 1;//借位赋值为1} else {borrow = 0;//否则借位为0}difference->data[i] = result;}difference->place = i;//此时字符串长度为i的值while (difference->place > 1 && difference->data[difference->place - 1] == 0) {difference->place--;//去掉最高位的0.因为两数相减很可能会出现前几位为0的情况}return difference;//返回相减后的结果
}void Display(num end) {for (int i = end->place - 1; i >= 0; i--) {//倒序输出结果printf("%d", end->data[i]);}
}
http://www.dinnco.com/news/29990.html

相关文章:

  • 做本地生活网站北京网站优化企业
  • 公司网站怎么做优化电商运营推广是做什么的
  • 房产网站建设整体架构百度一下知道首页
  • 抓取网站urlseo是指
  • 青岛 公司 网站建设搜索引擎排名影响因素有哪些
  • 网站服务器租赁你的知识宝库aso优化工具
  • 股票分析软件网站建设能够免费换友链的平台
  • 网站排名易下拉霸屏最近发生的重大新闻事件
  • 邯郸做网站网络公司网络营销好不好
  • 电脑做服务器上传网站长沙优化网站哪家公司好
  • html5网站和传统网站的优点全网推广怎么做
  • 美肤宝网站建设网站网页设计
  • 新网站怎么做seoit教育培训机构排名
  • 手机网站建设 小程序seo和sem哪个工资高
  • 手机网站做安卓客户端廊坊seo网站管理
  • 建设银行 u盾不弹出网站百度网盘网页版官网
  • 顺义电大网上作业在那个网站做口碑营销有哪些方式
  • 网站收录少的原因搜狗搜索引擎优化指南
  • 网站跳出率多少算正常产品营销策划
  • 微信读书网页版北京官网seo
  • 跨境电商单页网站的详情页怎么做的seo刷关键词排名工具
  • 全国政务网站哪家做的好怎样创建一个网站
  • 网站建设的常见问题百度权重5的网站能卖多少钱
  • JAVA网站开发小项目注册域名要钱吗
  • 沧州免费网站建设牛推网络
  • 泸州工投建设集团有限公司网站seo关键词优化软件合作
  • 网站制作将栏目分类网站设计制作公司
  • 南康网站制作友情链接怎么连
  • 做零食网站的原因如何快速搭建网站
  • 制作美食seo推广培训学费