UVA bignumber 424 integer inquiry
#include<stdio.h>
#include<string.h>
char num1[101];
int res[110],a[110],b[110];
int main()
{
int count=0,l=0;
while(scanf("%s",&num1)&&num1[0]!='0')
{
int i=0,j=0,k=0,len1=strlen(num1);
for(i=len1-1;i>=0;i--)
a[k++]=num1[i]-'0';//通常先转化为整数在计算,直接用字符-'0'来运算麻烦
k=0;
int c=0;
for(i=0;i<110;i++)//这个地方有待改进
{
int temp=res[i]+a[i]+c;//一定要用temp缓存一下,不能直接在下面的%和/中直接用
res[i]=temp%10;
c=temp/10;
}
memset(num1,0,sizeof(num1));
memset(a,0,sizeof(a));
}
count=110;
while(count>=0&&res[count]==0){count--;}
for(l=count;l>=0;l--)
printf("%d",res[l]);
printf("\n");
return 0;
}
数组要开大,100个元素相加后可能超过102个元素。没什么难度,就是锻炼编程能力。我不说是水题,只要我不能在短时间内编出来的题目,我都不会说是水题!