题目:给出一个不多于5位的整数
要求1.求出它是几位数
2.分别输出每一位数字(用空格分开每个 数字,最后一个数字没有空格)
3.按逆序输出各位数字
样例输入:12345
样例输入:5
1 2 3 4 5
54321
分析:题目说给出一个不多于5位的整数(n),我们可以申请5个整型的数组,求它是几位数,我们可以利用取余取整,求出每位数字是什么并放在数组空间中,并用number求出数字的个数,把求出的每个数字按顺序输出,并按逆序输出。注意(n=0)的情况。
取余取整:num[i] = n % 10; 求出最后一位数
n = n / 10; 小数点前移一位
number++;计数
格式输出:if (i != 0)
cout << num[i] << " ";
如果 num[i] 不是最后一个数,则加一个空格
题解:
#include<iostream>
using namespace std;
int main()
{
int num[5]; //定义一个有 5 个元素的数组
int n;
int number = 0; //记录数位
cin >> n; //获取输入的数
for (int i = 0; i < 5; i++) {
if (n == 0) break; //如果输入的数为 0 则退出这个循环
else {
num[i] = n % 10; //获取最后一位数,num[0] 为最后一个数,num[1] 是倒数第二个数
n = n / 10; //n 向前进 1 位,无小数点
number++;
}
}
cout << number << endl; //输出数位
for (int i = number - 1; i >= 0; i--) {
if (i != 0) { //如果 num[i] 不是最后一个数,则加一个空格
cout << num[i] << " ";
}
else cout << num[i]; //输出最后一个数
}
cout << endl; //换行
for (int i = 0; i < number; i++) {
cout << num[i]; //按照 num[i] 顺序输出
}
return 0;
}