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

深圳物流公司网站中国比较有名的产品设计公司

深圳物流公司网站,中国比较有名的产品设计公司,南联网站建设,湖北勘察设计协会作者 李卫明 单位 杭州电子科技大学 1.8 无符号大数加、减运算。程序设计中经常遇到无符号大数加、减运算问题#xff0c;请在样例程序Ex1.4基础上实现无符号大数减运算。题目要求输入两个无符号大数#xff0c;保证一个大数不小于第二个大数#xff0c;输出它们的和、差。…作者 李卫明 单位 杭州电子科技大学 1.8 无符号大数加、减运算。程序设计中经常遇到无符号大数加、减运算问题请在样例程序Ex1.4基础上实现无符号大数减运算。题目要求输入两个无符号大数保证一个大数不小于第二个大数输出它们的和、差。 输入格式: 两个无符号大数前一个大于等于第二个。 输出格式: 第1行为两个无符号大数相加结果后一行为两个无符号大数相减结果。 输入样例: 1234567890987654321333888999666 147655765659657669789687967867输出样例: 在这里给出相应的输出。例如 12345678909876543213338889996661476557656596576697896879678671382223656647311991123576967533 1234567890987654321333888999666-1476557656596576697896879678671086912125327996651544201031799代码长度限制 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.w-s-a.com/news/180483/

相关文章:

  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress
  • 做网站一单能挣多少wordpress主题文件夹在哪
  • 视频社区app源码台州优化网站
  • 保定高端网站建设做微商好还是开网站好
  • 有什么方法在淘宝发布网站建设设计wordpress评分
  • 自己做的网站怎么爬数据库酷播wordpress
  • 广州哪家做网站还可以黑龙江省建设厅网站的电话
  • 青海省高等级公路建设管局网站国内做led灯网站有
  • 做网站成功建设银行网站网址
  • 自动生成网站上海十大活动策划公司
  • 企业网站建设源码HTML论述市场营销对网站设计的影响
  • 网站设计常见问题建设工程网上质检备案网站
  • 网站怎样优化文章关键词建设网站需要钱吗
  • 加强网站建设和管理的通知重庆网站推广产品
  • 网站建设术语解释百度发布信息的免费平台
  • 情公司做的网站seo与网站优化 pdf
  • 做一个购物网站多少钱江阴市住房和城乡建设局网站
  • 网站建设都包括哪些ps怎么做网站首页和超链接
  • 怎样低成本做网站推广编辑网站教程
  • 邯郸网站建设信息网站开发报价人天
  • 王店镇建设中心小学网站酷玛网站建设
  • 网站需求方案wordpress博客主题推荐
  • 网站安全证书过期怎么办那个视频网站最好最全网址
  • 外贸上哪个网站开发客户建行个人网上银行登录入口
  • 空间除了可以做网站还能干什么qq钓鱼网站
  • 网站 技术企业网站用免费程序
  • 做网站的中文名字汕尾网站开发