程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 2016/7/6 真·高精度計算器-加 (火速跟完!!!),2016高精度

2016/7/6 真·高精度計算器-加 (火速跟完!!!),2016高精度

編輯:C++入門知識

2016/7/6 真·高精度計算器-加 (火速跟完!!!),2016高精度


我又來寫了。。。。。。

源碼:

#include<stdio.h>
#include<string.h>
int a[1000]={0},b[1000]={0};
int main(void)
{
char s1[1000],s2[1000];                                //設定2個字符串s1,s2
int l1=0,l2=0,l,i;

scanf("%s",s1);
scanf("%s",s2);                                     //輸入char字符串s1的值
l1=strlen(s1);                                       //將s1的長度的值賦給l1

l2=strlen(s2);                                       //將s1的長度的值賦給l2
for(i=0;i<=l1-1;i++)                                   //for_把不能計算的字符串s1賦給數組計算
{
  a[l1-1-i]=s1[i]-'0';
}
for(i=0;i<=l2-1;i++)                                   //for_把不能計算的字符串s2賦給數組計算
{
  b[l2-1-i]=s1[i]-'0';
}
if(l1>l2)                                         //判斷字符串長度,並對應比對大小

{
  l=l1;

}
else
{

  l=l2;

}
for(i=0;i<=l-1;i++)                                   //由for循環算出數組a[i]與a[i]和並賦予給a[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;
}

 

 作者評語:

    這次的高精度的計算器是一個無限加法,不論多大,都可以一次加起來。經過之前的反饋,我更正了字體打彩太亮的缺點,這次由於博客的復制鏈接卡段所以可能會造成復制的代碼不可使用,源代碼c源文件將在1-3日內更新!

有錯請留言評論,有錯請指出。

隨即呈上!

 

 

                          By    He_He _S

 

                    小組 @成都七中高新OI2015

 

2016/7/6      張呵呵於18:34時更改  |第一次|

2016/7/6      張呵呵於20:44時更改  |第二次|

                   本目將於1-3日內更新

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved