问题标题: 酷町堂:1506

0
0

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
徐云皓
徐云皓
新手天翼
新手天翼

等只要n为123时就退出循环,统计n里ji和ou的个数的个数判断,ji为奇数的个数,ou为偶数的个数,s为数字的个数,最后输出计数器

 
我要回答