Hdu 1753 大明A+B 高精度小数相加
生活随笔
收集整理的這篇文章主要介紹了
Hdu 1753 大明A+B 高精度小数相加
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題意:
很長(zhǎng)很長(zhǎng)的小數(shù)相加..
思路:
用1000長(zhǎng)的數(shù)組處理兩個(gè)小數(shù)..前500存整數(shù)..后500存小數(shù)..然后相應(yīng)位相加..
然后輸出除去前導(dǎo)0和后面0的..
Tips:
※ strchr(char *a, char c) 返回的是 a 字符數(shù)組中 c 字符的第一次出現(xiàn)的位置..返回的不是迭代器的位置..而是地址..
※ 主要就是對(duì)字符串的處理..要很小心阿..
※ 以字符數(shù)組的形式讀入高精度小數(shù)..然后用他們 - ‘0’..把字符變成整數(shù)來(lái)處理..最后以整數(shù)方式輸出..
Code:
View Code 1 #include <stdio.h> 2 #include <cstring> 3 #define Max 1010 4 #define clr(x) memset(x, 0, sizeof(x)) 5 6 char str1[Max], str2[Max], ans[Max]; 7 char tmp1[Max], tmp2[Max]; 8 9 void Calculate() 10 { 11 int i, j, k; 12 clr(tmp1), clr(tmp2), clr(ans); 13 14 int len = strlen(str1); 15 if(strchr(str1, '.') == NULL) 16 k = len; 17 else 18 k = strchr(str1, '.') - str1;///--->>!!! 19 for(i = k-1, j = 500; i >= 0; --i, ++j) 20 tmp1[j] = str1[i]-'0'; 21 for(i = k+1, j = 499; i < len; ++i, --j) 22 tmp1[j] = str1[i]-'0'; 23 24 len = strlen(str2); 25 if(strchr(str2, '.') == NULL) 26 k = len; 27 else 28 k = strchr(str2, '.') - str2; 29 for(i = k-1, j = 500; i >= 0; --i, ++j) 30 tmp2[j] = str2[i] - '0'; 31 for(i = k+1, j = 499; i < len; ++i, --j) 32 tmp2[j] = str2[i] - '0'; 33 34 int tmpc = 0, tmps; 35 for(i = 0; i < 1010; ++i){ 36 tmps = tmp1[i]+tmp2[i]+tmpc; 37 ans[i] = tmps%10; 38 tmpc = tmps/10; 39 } 40 } 41 42 void outPut() 43 { 44 int i, j; 45 for(i = 1009; i > 500; --i) 46 if(ans[i]) break; 47 while(i >= 500) 48 printf("%d", ans[i--]); 49 for(j = 0; j < 500; ++j) 50 if(ans[j]) break; 51 if(j != 500){ 52 printf("."); 53 for(i = 499; i >= j; --i) 54 printf("%d", ans[i]); 55 } 56 puts(""); 57 } 58 59 int main() 60 { 61 int i, j, k; 62 while(scanf("%s %s", &str1, &str2) != EOF) 63 { 64 Calculate(); 65 outPut(); 66 } 67 return 0; 68 }?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Griselda/archive/2012/08/07/2625948.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Hdu 1753 大明A+B 高精度小数相加的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: localStorage存、取数组
- 下一篇: poj 1236 Network of