a+b(高精度)[陳濤]——c語言


#include<stdio.h>
#include<string.h>
char s[1000];--------------------------------------------------//定義一個字符數組
int a[1000]={0},b[1000]={0};------------------------------// 定義兩個int類型數組
int main()
{
 int l1,l2,z,i;
 freopen("hp+.in","r",stdin);
 freopen("hp+.out","w",stdout);-----------------------------//進行文件操作
 scanf("%s",s);-----------------------------------------------//讀入第一個數
   l1=strlen(s);------------------------------------------------//用string中的strlen函數得到第一個數的長度
    for(i=0;i<=l1-1;i++)--------------------------------------//用for循環來倒敘存入a數組
    {
     a[l1-1-i]=s[i]-'0';
    }
   scanf("%s",s);----------------------------------------------//讀入第二個數
  l2=strlen(s);-------------------------------------------------//用string中的strlen函數得到第二個數的長度
    for(i=0;i<=l2-1;i++)--------------------------------------//用for循環來倒敘存入b數組
    {
        b[l2-1-i]=s[i]-'0';
    }
 if(l1>l2)
     z=l1;
 else
     z=l2;-------------------------------------------------------//判斷a數組和b數組誰的長度大
    for(i=0;i<=z-1;i++)
    {
        a[i]=a[i]+b[i];
         if(a[i]>=10)
         {
                  a[i+1]=a[i+1]+1;
                  a[i]=a[i]-10;
          }
    }--------------------------------------------------------------//用for循環來進行a,b兩數組的加法
    if(a[z]!=0)---------------------------------------------------//判斷最高位有沒有進位
        z++;
    for(i=z-1;i>=0;i--)-----------------------------------------//倒序輸出最后所得答案
       printf("%d",a[i]);
    return 0;
}

 

本程序是由“QinJianCDQZ”老師的諄諄教誨,讓我受益終身,但也經自己的雙手來敲打一個一個字母所得,我會在c語言的道路上越走越遠,得到更好的成績。耶耶耶耶耶耶耶耶。

                                                                                                                                                                              ---------------------------by 陳濤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM