反向输出一个三位数C + +编程0在第一位时不能输出0,请教我一下
2条回答 默认 最新
a5156520 2023-07-03 19:34关注可以从输入获取一个三位数,然后提取其个十百位,各位数字分别乘以100,10,1后转为反向后的数,再打印即可,原数的第一位个位如果为0,乘以100,各位相加后,反向的数就不会显示百位的0了。
代码如下:#include <iostream> using namespace std; int main(void){ int num; cout<<"请输入一个三位数:"; cin>>num; // 从输入获取一个整数 // 判断输入的数是否为三位数,如果不是,则再次读取一个整数,直到读取到一个三位数 while(num<100||num>999){ cout<<"请输入一个三位数:"; cin>>num; // 从输入获取一个整数 } int one = num%10; // 提取个位 int ten = num/10%10; // 提取十位 int hundred = num/100%10; // 提取百位 // 将个十百位,反向乘以对应的权值,转为反向后的数 // 这里原数的个位如果为0,乘以100,各位相加后,就不会显示开头的0了 int result = one*100 +ten*10 +hundred; cout<<"反向后为:"<< result; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用