#include<iostream>
#include<string.h>
using namespace std;
string T(char s[256])
{
int z;
bool flag=true; //flag为true时字符串里每个数字一样
z=strlen(s);
for(int i=0;i<z;i++)
{
if(s[i]!=s[0])
{
flag=false;//flag为false时字符串里有数字不一样
break;
}
}
if(flag==true&&s[0]=='0')
{
return "A";
}
else if(flag==true&&s[0]=='1')
{
return "B";
}
else
{
int a=z/2,b=z/2+1;//下面是把字符串平均分为两部分
char c[133],d[133];
for(int i=0;i<a;i++)
{
c[i]=s[i];
}
for(int i=b;i<z;i++)
{
d[i]=s[i];
}
cout<<"C";
cout<<T(d);
}
};
int main()
{
char s[256];
cin>>s;
cout<<T(s)<<endl;
system("pause");
return 0;
}
运行时输出像吃了炫迈似的,根本停不下来!!! 哪里错了? 用return的话只能输出第一个字母。