【20121203】HDU1002

答案如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
 int a[1002]={0},b[1002]={0},c[1002]={0};
 int i,n,k,alen,blen,r=0;
 char str1[1002],str2[1002];
 scanf("%d",&n);

 while(n--)									     
 {
  if(r>0) printf("\n");						     
  scanf("%s",str1); alen=strlen(str1);
  scanf("%s",str2); blen=strlen(str2);
  k=alen>blen?alen:blen;                         
  for(i=0;i<alen;i++) a[i]=str1[alen-i-1]-'0';   
  for(i=0;i<blen;i++) b[i]=str2[blen-i-1]-'0';
  for(i=0;i<k;i++)
  {
   c[i]=a[i]+b[i]+c[i];							
   c[i+1]=c[i]/10;
   c[i]=c[i]%10;
  if(c[k]) k++;                                 
  }
  r++;
  printf("Case %d:\n",r);                      
  printf("%s + %s = ",str1,str2);
  for(i=k-1;i>=0;i--) printf("%d",c[i]);       
   printf("\n");
  for(i=0;i<alen;i++) a[i]=0;
  for(i=0;i<blen;i++) b[i]=0;
  for(i=0;i<k;i++) c[i]=0;
 }

 return 0;
}

心得体会:

a[i]=str1[alen-i-1]-'0',这个语句将字符型的数字转换成整型的数字

阅读更多
个人分类: HDU
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

【20121203】HDU1002

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭