poj 1503 Integer Inquiry lightbluem

来源:互联网 发布:linux cut 命令 编辑:程序博客网 时间:2024/06/08 16:38

#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace std;
int result[10005];
char adder[105];
int tresult[10005];
void reverseStr(char * str,int length){
 int left=0,right=length-1;
 while(left<right){
 // cout<<"sfaf"<<endl;
  char temp=str[left];
  str[left]=str[right];
  str[right]=temp;
  left++;
  right--;
 // cout<<"sfs"<<endl;
 }
}
int  main(){
 scanf("%s",adder);
 for(int i=0;i<10005;i++){
  result[i]=0;
  tresult[i]=0;
 }
 while(strcmp(adder,"0")!=0){
 // cout<<adder<<endl;
  reverseStr(adder,strlen(adder));
 // cout<<adder<<endl;
 // memset(result,0,);
  for(int index1=0;index1<strlen(adder);index1++){
   // for(int index2=0;index2<105;index2++){
    // cout<<adder[index1]-'0';;
     result[index1]=(int)(adder[index1]-'0')+result[index1];
    // cout<<result[index1];
   // }
    //把result复制到tresult
   // for(int index3=0;index3<10005;index3++){
  //   tresult[index3]=result[index3];
  //  }
  }
  
  scanf("%s",adder);
 }
 //统一进行进位
 for(int index2=0;index2<10000-1;index2++){
  result[index2+1]+=result[index2]/10;
  result[index2]=result[index2]%10;
 }
// for(int i1=0;i1<105;i1++){
 //  cout<<result[i1]<<" ";
// }
 int flag=0;
 for(int index3=10005;index3>=0;index3--){
  if(!flag&&result[index3]!=0){
   flag=1;
  }
  if(!flag)
   continue;
  else{
   printf("%d",result[index3]);
  }
 }
 printf("\n");
 return 0;
}