1
已采纳
if (j<10&&s<10) n=(o*100+j*10)+s;
else if (j<10&&s>=10) n=(o*1000+j*100)+s;
else if (j>10) n=(o*10000+j*1000+s);
0
0
int ou=0,z=0,ji=0,count=0,n,n2;
cin>>n;
while(n!=123)
{
n2=n;
while(n2!=0)
{
if(n2%10%2==0)
ou++;
else
ji++;
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;
}
n2=n;
ji=0;
ou=0;
z=0;
}
徐云皓在2018-02-25 19:52:43追加了内容
等只要n为123时就退出循环,统计n里ji和ou的个数的个数判断,ji为奇数的个数,ou为偶数的个数,s为数字的个数,最后输出计数器
0
首先while循环变化n,等n为123时退出循环
先统计n里奇数和偶数的个数和数字的个数
再判断
if (j<10&&s<10) n=(o*100+j*10)+s;
else if (j<10&&s>=10) n=(o*1000+j*100)+s;
else if (j>10) n=(o*10000+j*1000+s);
j为奇数的个数,o为偶数的个数,s为数字的个数
最后计数器加1
最后输出计数器
0
