高精准加法和乘法

使用函数库:

#include<stdio.h> #include<string.h>

源码(加法):

#include<stdio.h>

#include<string.h>

char s[1000];

int main()

{  

   int i,l1,l2,l,a[1000]={0},b[1000]={0};

    scanf("%s",s);                                  //输入第一个数(char类型);

    l1=strlen(s);                    //存入第一个数的长度;

    for(i=0;i<=l1-1;i++)     

       {       

          a[l1-1-i]=s[i]-'0';                    

        }                                                            //保存第一个数到"a[i]";                      

         scanf("%s",s);                                       //输入第二个数(char类型);

          l2=strlen(s);                                         //存入第二个数的长度;

          for(i=0;i<=l2-1;i++)     

          {     

               b[l2-1-i]=s[i]-'0';  

           }                    //保存第二个数到"b[i]";

           if(l1>l2) l=l1;                                  

            else

              l=l2;                                             //比较两数长度;

     for(i=0;i<=l-1;i++)  

      {   

        a[i]=a[i]+b[i];         //进行加法;

         if(a[i]>=10)   

         {    

          a[i+1]=a[i+1]+1;    

          a[i]=a[i]-10;  

                          }              //进位;

                  }  

               if(a[l]!=0)  l++;                          //判断最后的位数;

               for(i=l-1;i>=0;i--)       

       {  

        printf("%d",a[i]); 

         }                                       //输出;

      return 0;

}

作者评价:感谢大家的宝贵评价;此程序由我尽力制作且第一次发表;可运算更大的加法运算稍微修改可运算比longlonggeng更高,更大。

  

     

有错请留言评论,新人报道,手嫩,有错请指出。

原文地址:https://www.cnblogs.com/ganghan/p/5647970.html