導航:首頁 > 源碼編譯 > 求兩個數之和演算法

求兩個數之和演算法

發布時間:2022-08-01 02:11:29

『壹』 C語言編程兩個數求和

用數組做,高精度演算法。數組的每一個元素放一個位,如a[0]代表個位,a[1]代表十位,依此類推。
下面是演算法的實現:
c[0]=(a[0]+b[0])%10; //c[x]為結果,a[x],b[x]為兩個加數
overflow=(a[0]+b[0])/10; //overflow為進位的值
for(i=1;i<n;i++) //n為你兩個加數的最大位數
{
c[i]=(a[i]+b[i]+overflow)%10; //a和b的第i位相加再加上第i-1位的進位的和的個位是c第i位的值
overflow=(a[i]+b[i]+overflow)/10; //a和b的第i位相加再加上第i-1位的進位的和的十位是向高位的進位
}

當然讀數的時候要注意,由於位數太大,可以將其當成字元串讀,再按位分離。(可能還有其他辦法,不列舉)

舉個實例
987+87=?
個位相加c[0]=(a[0]+b[0])%10=(7+7)%10=4 ,進位 overflow=(a[0]+b[0])/10=1
十位相加c[1]=(a[1]+b[1]+overflow)%10= (8+8+1)%10=7 進位 overflow=(a[1]+b[1]+overflow)/10=1
百位相加c[2]=(a[2]+b[2]+overflow)%10=(9+0+1)%10=0 進位 overflow=(a[1]+b[1]+overflow)/10=1
。。。下面類推

『貳』 c語言中求兩個數之和

程序沒錯,注意輸入,輸入兩個數之間的間隔是逗號,因為scanf("%d,%d",&a,&b);就規定了格式。

『叄』 c語言簡單求和,編寫程序:輸入兩個數,求兩個數的和

利用C語言編寫一個求兩數相加的和的編程思想和方法如下:

1.首先需要定義三個變數a,b,c,兩個為相加的數,第三個為相加後得到的和。

『肆』 兩數之和的演算法

解:設一個數為x,則另一個數為(x-284)
x+(x-284)=954
2x-284=954
2x= 954+284
x=1238
x=619
619-284=535

答:兩數分別為619和535.

『伍』 C++:求兩數之和

  1. #include <iostream>

  2. using namespace std;

  3. class Test

  4. {

  5. private:

  6. int a;

  7. int b;

  8. public:

  9. Test(int a, int b)

  10. {

  11. this->a = a;

  12. this->b = b;

  13. }

  14. int add();

  15. };

  16. int Test::add()

  17. {

  18. return a+b;

  19. }

  20. int main()

  21. {

  22. Test t1(2,3);

  23. cout << t1.add() << endl;

  24. Test *t2 = new Test(8,9);

  25. cout << t2->add() << endl;

  26. delete t2;

  27. return 0;

  28. }

『陸』 不用+-*/求兩個數之和

使用內聯匯編,如下:(VC6.0編譯器)
#include<stdio.h>
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
_asm mov eax,a;
_asm add eax,b;
_asm mov a,eax;
printf("%d\n",a);
return 0;
}

位運算如下:
#include<stdio.h>
int main(void)
{
int a,b,c,d;
scanf("%d%d",&a,&b);
c=a^b;d=a&b;
while (d){
a=c;b=d<<1;
c=a^b;d=a&b;
}
printf("%d\n",c);
return 0;
}

『柒』 兩個數字的和怎麼算

兩個數字的差距的演算法,
就是說比如說a比b多了多少,
就是用。a減去b再除以a,
反正如果說a少了多少?
那麼就用a減去b除以b。

『捌』 求教:C語言兩個數的加法演算法。

c語言求+,-,*,/其實很考驗水平的
最簡單的就是a/b了,在不溢出的情況下可以這么算,還有很多要注意的地方,象你需要數的類型,運算的數的類型,比如你定義了兩個int型的量,相除,比如3/5,但是得到卻是0,而不是0.6,所以你想得到0.6就必須把3和5定義成double或者float類型,而這一特點被很經常的運用,比如你要得到1個數的每1位,它是int型,你就可以拿它/10,這樣就降了一位,而且沒有餘數了
碰到大數的+,-,*,/,都是靠運算每一位數字來得到最後結果的,c里沒有直接可求出結果的函數,有些人把這個做成摸版,因為經常用到,而事實上很多情況都是會溢出的,所以建議你去找個摸版,+,-,*,/,在google上打
c
大數的加減,肯定會有的
希望對你有幫助

『玖』 求任意兩個數字之和的c語言程序

這樣代碼比較多,但還是很好懂的;
#include<stdio.h>
int main( )
{ int a,b,c;
printf("請輸入一個數:");
scanf("%d",&a);
printf("請再輸入一個數:");
scanf("%d",&b);
c=a+b;
printf("這兩個數的和為:%d\n",c); }

閱讀全文

與求兩個數之和演算法相關的資料

熱點內容
程序員呼蘭搞笑 瀏覽:347
蘋果怎麼關閉自動排序app 瀏覽:957
國外可以訪問到用什麼伺服器地址 瀏覽:944
揚州前端程序員私活價格 瀏覽:987
視覺演算法程序員該買什麼筆記本 瀏覽:713
鍵盤滑鼠編程 瀏覽:841
linux中修改命令 瀏覽:286
dns伺服器地址怎麼查詢地址 瀏覽:863
php易寶支付介面 瀏覽:610
開源免費oaphp 瀏覽:884
數據加密過程簡述 瀏覽:809
python基礎教程pdf下載 瀏覽:125
如何統計伺服器 瀏覽:746
蘋果和安卓怎麼贈送模組 瀏覽:807
伺服器倒計時怎麼弄 瀏覽:34
excel文件夾更新 瀏覽:437
億點連接app哪裡好 瀏覽:791
java掃碼支付 瀏覽:877
單片機行車記錄儀 瀏覽:393
oppo雲伺服器什麼意思 瀏覽:84