首页 > 代码库 > hdu--1002--大数加法
hdu--1002--大数加法
以为已经贴上去了 刚看了下 原来还没贴 看来是自己忘记了 =-=
就是一个 大数加法 写着玩玩的~
touch me
1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 5 const int size = 10010; 6 char str1[size]; 7 char str2[size]; 8 int val[size*2]; 9 10 void add( )11 {12 int i , j;13 int len1 = strlen( str1 );14 int len2 = strlen( str2 );15 int maxLen = max( len1 , len2 );16 int minLen = min( len1 , len2 );17 int len = maxLen;18 int ans = 0;19 for( i = len1-1 , j = len2-1 ; i>=0&&j>=0 ; i--,j-- )20 {21 val[maxLen] = ( (str1[i]-‘0‘)+(str2[j]-‘0‘) + ans ) % 10 ;22 ans = ( ( str1[i]-‘0‘ ) + (str2[j]-‘0‘ ) + ans ) / 10;23 maxLen--;24 }25 if( len1 == len )26 {27 for( ; i>=0 ; i-- )28 {29 val[i+1] = ( ans + (str1[i]-‘0‘) ) % 10;30 ans = ( ans + str1[i]-‘0‘ )/10;31 }32 }33 else34 {35 for( ; j>=0 ; j-- )36 {37 val[j+1] = ( ans + (str2[j]-‘0‘) ) % 10;38 ans = ( ans + str2[j]-‘0‘ ) /10;39 }40 }41 if( ans )42 printf( "1" );43 for( i = 1 ; i<=len ; i++ )44 {45 printf( "%d",val[i] ); 46 }47 printf( "\n" );48 }49 50 int main()51 {52 int t;53 while( cin>>t )54 {55 for( int i = 1 ; i<=t ; i++ )56 {57 cin >> str1 >> str2;58 printf( "Case %d:\n",i );59 printf( "%s + %s = ",str1 , str2 );60 add( );61 if( i<t )62 printf( "\n" );63 }64 }65 return 0;66 }
today:
当你在穿山越岭的另一边
我在孤独的路上没有尽头
我们总是在抱怨事与愿违
却不愿意回头看看自己
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。