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

求兩個數之和演算法

發布時間: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); }

閱讀全文

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

熱點內容
福州電動車在哪個app上搖號 瀏覽:818
禮書PDF 瀏覽:667
什麼app看本子 瀏覽:394
如何學好編譯語言 瀏覽:591
平面編程和切削 瀏覽:704
phpemoji表情符號 瀏覽:778
IBM雲平台shor演算法 瀏覽:576
程序員當乙方 瀏覽:519
php商城設計與實現的 瀏覽:305
php自動列印 瀏覽:469
哪個app多年輕人 瀏覽:902
租的伺服器如何重裝 瀏覽:937
乾眼症程序員 瀏覽:239
樂動達人安卓版有什麼游戲 瀏覽:484
c523壓縮比 瀏覽:544
命令語氣的人什麼心態 瀏覽:435
程序員喜歡留指甲嗎 瀏覽:516
七牛雲伺服器收費標准 瀏覽:627
時光相冊加密空間密碼忘記 瀏覽:474
華為雲為用戶提供的服務雲伺服器 瀏覽:634