1
已解决
#include<iostream>
#include<cstring>
using namespace std;
char a[20];
int main(){
int ans=0,js=0,os=0,zs=0;
gets(a);
while (a[0]!='1'||a[1]!='2'||a[2]!='3'){
js=0; os=0; zs=0;
for(int i=0;i<strlen(a);i++){
if ((a[i]-'0')%2==0) os++;
else js++;
}
zs=js+os;
cout<<(char(js))+(char(os))+(char(zs));
}
cout<<ans<<endl;
return 0;
}
怎么做?大佬教我!
1
已采纳
while(n需要不等于123才能执行)
{
n2=n;
while(n2!=0)
{
if(n2%10%2==0)
偶数累加器自增
else
奇数累加器自增
n2/=10;//每次把末尾去掉
}
z=ou+ji;
if(ji>=10 && z>=10)
{
count++;
n=(ou*100+ji)*100+z;
}
else
if(z>=10 && ji<10)
{
count++;
n=(ou*10+ji)*100+z;
}
else
if(z<10 && ji<10)
{
count++;
n=(ou*10+ji)*10+z;
}
最后把每个变量 清零。
}
0
0
核心代码:
he=n;
while(n!=123)
{
he=n;
while(he>0)
{
a[i]=he%10;
he/=10;
i++;
}
for(int j=0;j<=i-1;j++)
{
if(a[j]%2==0) os++;
else js++;
}
n=os*100+js*10+i;
memset(a,0,sizeof(a));
i=0;
js=0;
os=0;he=0;
k++;
}
0
