#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;
}
本文介绍了一个C++程序,该程序实现了字符串的反转功能,并通过一个循环处理字符串直到遇到特定结束条件。程序使用了基本的数据结构和算法来实现其功能。
286

被折叠的 条评论
为什么被折叠?



