本文主要是介绍uva 424 大数相加,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include <stdio.h>
#include<string.h>
const int MAXN=110;int main(int argc, char *argv[])
{int sum[MAXN];char temp[MAXN];int k,s,i,c,len;memset(sum,0,sizeof(sum));//sum清零 while(scanf("%s",temp)){if (temp[0]=='0') break;len=strlen(temp);for (i=0;i<len;i++) temp[i]-=48;//temp的ascii码均在10以内 k=0;s=0;c=0;i=len-1;while(1){s=temp[i--]+sum[k]+c;sum[k++]=s%10;c=s/10;if(c==0 && i<0) break; } }for (i=MAXN-1;i>=0;i--) if (sum[i]) break;//取消前导零 for (;i>=0;i--)printf("%d",sum[i]);printf("\n"); return 0;
}
这篇关于uva 424 大数相加的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!