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