用陣列實現大數加法
當數字足夠大的時間,用陣列實現大數的運算。
參考程式碼如下:
#include <stdio.h>
#include <string.h>
int main()
{
int a[100],b[100],c[200];
char str1[100],str2[100];
int i,j,k,index,incre=0;
printf("input the first string:");
scanf("%s",str1);
index=0;
for(i=strlen(str1)-1;i>=0;i--)
{
a[index]=str1[i]-'0';
index++;
}
printf("input the second string:");
scanf("%s",str2);
index=0;
for(i=strlen(str2)-1;i>=0;i--)
{
b[index]=str2[i]-'0';
index++;
}
index=0;
while(index<strlen(str1) && index<strlen(str2))
{
c[index]=(a[index]+b[index]+incre)%10;
incre=(a[index]+b[index]+incre)/10;
index++;
}
if(index==strlen(str1) && index<strlen(str2))
{
for(j=index;j<strlen(str2);j++){
c[index]=(b[j]+incre)%10;
incre=(b[j]+incre)/10;
index++;
}
}
if(index==strlen(str2) && index<strlen(str1))
{
for(j=index;j<strlen(str1);j++){
c[index]=(a[j]+incre)%10;
incre=(a[j]+incre)/10;
index++;
}
}
if(incre)
{
c[index]=incre;
index++;
}
for(i=index-1;i>=0;i--)
printf("%d",c[i]);
putchar('\n');
return 0;
}
相關文章
- 【LeetCode-陣列】陣列式整數加法LeetCode陣列
- [CodeWars][JS]實現大整數加法JS
- DELPHI也可以實現控制元件陣列,用定義陣列變數實現控制元件陣列 (轉)控制元件陣列變數
- LeetCode989——陣列形式的整數加法LeetCode陣列
- C++ std::list實現大整數加法運算C++
- [php]運用變數引用實現一維陣列轉多維樹狀陣列PHP變數陣列
- (陣列)大數相乘,相加陣列
- 查詢陣列中出現次數大於陣列長度一半的數字陣列
- LeetCode每日一題: 陣列形式的整數加法(No.989)LeetCode每日一題陣列
- 用SQL實現Farey數列SQL
- 大數加法(處理不了負數)
- 教你如何運用golang實現陣列分割Golang陣列
- 找出陣列中第 k 大的數字及其出現次數陣列
- 求出陣列中出現次數大於一半的數字陣列
- 大資料教程分享實用的大資料之陣列大資料陣列
- 08:矩陣加法矩陣
- 陣列中每個陣列元素出現的次數陣列
- python實現給定一個數和陣列,求陣列中兩數之和為給定的數Python陣列
- 陣列排序的實現陣列排序
- golang實現稀疏陣列Golang陣列
- 陣列中出現兩次的數陣列
- 【建議收藏】徒手實現24+陣列方法,誰說你只是“會用”陣列陣列
- 大數運算—大數加法、減法、乘法、除法詳解
- JS實現陣列去重JS陣列
- PHP 陣列底層實現PHP陣列
- 如何實現陣列去重?陣列
- JavaScript 中實現等分陣列JavaScript陣列
- 約瑟夫環(陣列實現)陣列
- javascript 偽陣列實現方法JavaScript陣列
- 【筆記】oracle 陣列實現筆記Oracle陣列
- 靜態佇列,迴圈陣列實現佇列陣列
- 無序陣列求第K大的數陣列
- 教你如何運用golang 實現陣列的隨機排序Golang陣列隨機排序
- 位運算實現整數與位元組陣列轉換陣列
- 面試:Java 實現查詢旋轉陣列的最小數字面試Java陣列
- 演算法用連結串列模擬大整數加法運算演算法
- PHP 實現按奇偶排序陣列PHP排序陣列
- 正則實現陣列濾重陣列