日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

超长正整数相加

發布時間:2025/3/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超长正整数相加 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

請設計一個算法完成兩個超長正整數的加法。用字符串來解決,按位加然后考慮進位就OK。

下面是代碼實現:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 #ifndef?_ADDLONGINTERGER_ #define?_ADDLONGINTERGER_ /*================================?Macros?===================================*/ #define?FALSE??0 #define?TURE?1 /*=============================?Include?Function?===============================*/ int?AddLongInteger(char?*addend,?char?*augend,char?*result); #endif//_ADDLONGINTERGER_ #include"AddLongInteger.h" #include<string.h> /***********************************************************/ /************函數名:AddCharInerger*************************/ /************入口參數:加數字符和被加數字符*****************/ /************返回值:相加結果*******************************/ /************函數功能:求兩個數相加結果*********************/ /***********************************************************/ static?int?AddCharInerger(char?addend,char?augend) { ????int??ret?=?(addend?-'0')?+?(augend?-?'0'); ????return?ret; } /***********************************************************/ /************函數名:AddLongInteger*************************/ /************入口參數:加數字符串和被加數字符串*************/ /************返回值:相加結果*******************************/ /************函數功能:求兩個超長數相加*********************/ /***********************************************************/ int?AddLongInteger(char?*addend,char?*augend,char?*result) { ????int?index?=?0; ????int?tmp?=?0; ????int?sizeAddend?=?strlen(addend); ????int?sizeAugend?=?strlen(augend); ????int?tempNumber?=?sizeAddend; ????//判斷是否正確輸入 ????if((NULL?==?addend)&&(NULL?==?augend)&&(NULL?==?result)) ????{ ????????return?FALSE; ????} ????if(tempNumber?<=?sizeAugend) ????{ ????????tempNumber?=?sizeAugend; ????} ????while(tempNumber) ????{ ????????int?temp?=?AddCharInerger(addend[sizeAddend-1],augend[sizeAugend-1])+tmp; ????????//判斷是否要進位 ????????if(temp?>=?10) ????????{ ????????????result[index]?=?temp%10?+?'0'; ????????????tmp?=?temp/10; ????????} ????????else ????????{ ????????????tmp?=?0; ????????????result[index]?=?temp?+?'0'; ????????} ????????index++; ????????sizeAddend--; ????????//判斷是否越界 ????????if(sizeAddend?==?0) ????????{ ????????????sizeAddend?+=?1; ????????????addend[sizeAddend-1]?=?'0'; ????????} ????????sizeAugend--; ????????//判斷是否越界 ????????if(sizeAugend?==?0) ????????{ ????????????sizeAugend?+=?1; ????????????augend[sizeAugend-1]?=?'0'; ????????} ????????tempNumber--; ????} ????//最后是否有進位 ????if(tmp?>?0) ????{ ????????result[index]?=?(tmp?+?'0'); ????????result[index+1]?=?'\0'; ????} ????else ????{ ????????result[index]?=?'\0'; ????} ????return?TURE; } #include"AddLongInteger.h" #include<stdio.h> #include<stdlib.h> #include<string.h> /***********************************************************/ /************函數名:inputArray*****************************/ /************入口參數:加數字符串和被加數字符串和結果*********/ /************返回值:判斷是否成功***************************/ /************函數功能:輸入*********************************/ /**********************************************************/ int?inputArrayM(char?**addend,char?**augend,char?**result) { ????char?ch?=?0; ????int?countAddend?=?0; ????int?countAugend?=?0; ????printf("請輸入加數:"); ????*addend?=?(char?*)malloc(sizeof(char)); ????if(NULL?==?*addend) ????{ ????????return?FALSE; ????} ????while((ch?=?getchar())?!=?'\n') ????{ ????????? ????????*(*addend+countAddend)?=?ch; ????????countAddend++; ????????*addend?=?(char?*)realloc(*addend,(countAddend+1)*sizeof(char)); ????????if(NULL?==?*addend) ????????{ ????????????return?FALSE; ????????} ????} ????*((*addend)+countAddend)?=?'\0'; ????printf("請輸入被加數:"); ????*augend?=?(char?*)malloc(sizeof(char)); ????if(NULL?==?*addend) ????{ ????????return?FALSE; ????} ????while((ch?=?getchar())?!=?'\n') ????{ ????????? ????????*(*augend+countAugend)?=?ch; ????????countAugend++; ????????*augend?=?(char?*)realloc(*augend,(countAugend+1)*sizeof(char)); ????????if(NULL?==?*addend) ????????{ ????????????return?FALSE; ????????} ????} ????*((*augend)+countAugend)?=?'\0'; ????if(countAugend?>?countAddend) ????{ ????????*result?=?(char?*)malloc((countAugend+3)*sizeof(char)); ????} ????else ????{ ????????*result?=?(char?*)malloc((countAddend+3)*sizeof(char)); ????} ????return?TURE; } /* 程序的入口main */ int?main() { ????int?index?=?0; ????char?*addend?=?NULL; ????char?*augend?=?NULL; ????char?*result?=?NULL; ????inputArrayM(&addend,&augend,&result); ????if(FALSE?==?AddLongInteger(addend,augend,result)) ????{ ????????printf("計算出錯\n"); ????????return?0; ????} ????index?=?strlen(result)-1; ????for(;index>=0;index--) ????{ ????????printf("%c",result[index]); ????} ????printf("\n"); ????system("pause"); ????free(addend); ????free(augend); ????free(result); ????return?0; }


本文轉自 8yi少女的夢 51CTO博客,原文鏈接:http://blog.51cto.com/zhaoxiaohu/1752316,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的超长正整数相加的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97人人澡人人爽人人模亚洲 | 久热精品免费视频 | 国产视频一二三四区 | 西西4444www大胆无视频 | 麻豆成人精品国产免费 | 欧美人体视频 | 99国产精品久久 | 内射国产内射夫妻免费频道 | 黄色无毒网站 | 亚洲码在线观看 | 国语对白久久 | 日本中文字幕免费观看 | 男人添女人荫蒂国产 | 久久综合精品国产二区无码不卡 | 黄色片aa | 国产肉体xxxx裸体784大胆 | 口爆吞精一区二区三区 | 欧美一级专区免费大片 | 丰满孕妇性春猛交xx大陆 | 人妻精品久久久久中文字幕69 | 国产精品无码中文 | 91亚洲精品视频 | 日韩在线中文字幕 | 精品动漫一区二区三区的观看方式 | 美女露出粉嫩尿囗让男人桶 | 国产又粗又猛又色 | 久草资源站 | 九草视频在线 | 日韩专区中文字幕 | 亚洲理论在线观看 | 激情久久综合 | 亚洲最大激情网 | 人人妻人人澡人人爽人人精品 | 重口变态虐黄网站 | 电车痴汉在线观看 | 国产一区二区三区在线免费 | 麻豆专区 | 一级草逼片 | 制服丝袜一区 | 日韩精品视频在线观看网站 | 日韩欧美高清一区 | 一级肉体全黄毛片 | 高清一区二区 | 秘密基地电影免费版观看国语 | 天天看夜夜操 | 四虎国产在线观看 | av中文字幕网 | 日本一区二区免费看 | 日本在线观看一区二区 | 奇米影视在线观看 | 不卡国产在线 | 丰满少妇乱子伦精品看片 | 欧美少妇一区二区三区 | 久久国产精品久久久久久 | 久久国产色av免费观看 | 午夜影院视频 | 国产午夜福利一区 | 99看片| 日韩激情视频网站 | 国产亚洲高清视频 | 蜜桃精品噜噜噜成人av | 国产丰满麻豆 | 国精品一区 | www.国产黄色 | 亚洲三级影视 | 久久国产香蕉视频 | 日韩三级中文字幕 | 欧美性生活精品 | av国产精品 | 天天想你在线观看完整版高清 | 国产精品久久亚洲7777 | av手机在线免费观看 | 三级三级久久三级久久 | 国产成人午夜高潮毛片 | 97人妻精品一区二区免费 | 美女试爆场恐怖电影在线观看 | 色呦呦 | 亚洲无吗一区二区三区 | 一区二区中文字幕 | 美女尿尿网站 | 亚洲午夜久久久久久久久 | 综合av | 欧美日韩三区 | 黄大色黄大片女爽一次 | 日本三级黄在线观看 | 亚洲欧美综合在线观看 | 精品人妻少妇一区二区 | 欧美寡妇性猛交ⅹxxx | 好吊日在线| 精品人妻一区二区三区久久夜夜嗨 | 黄色国产毛片 | 国产精品成人aaaaa网站 | 西比尔在线观看完整视频高清 | 亚洲精品888 | 熟妇高潮一区二区 | 无人在线观看高清视频 单曲 | 成人在线国产 | 成人免费aaa | 大奶av|