编写一个c++程序,给出一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123.
时间: 2024-12-25 08:37:19 浏览: 0
下面是一个简单的C++程序,实现了所描述的功能:
```cpp
#include <iostream>
int main() {
int num, remainder, digits[6] = {0}; // 初始化数组存储每一位数字
// 输入正整数
std::cout << "请输入一个不超过5位的正整数: ";
std::cin >> num;
// 检查输入是否有效并计算位数
while(num > 0) {
digits[digits.size()] = num % 10; // 取余得到最后一位
num /= 10; // 整除移除最后一位
digits[size++] = num; // 数组下标自增,存入剩余位
}
// 打印每一位数字
std::cout << "各位数字: ";
for(int i = digits.size() - 1; i >= 0; i--) {
std::cout << digits[i];
}
std::cout << "\n逆序打印: ";
for(int i = 0; i < digits.size(); i++) {
std::cout << digits[i];
}
return 0;
}
相关问题
用c++编写程序给出一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。
好的,这是一个很基础的编程问题,我可以帮你解决。
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int num, n, i, arr[5];
cout << "请输入一个不多于5位的正整数:";
cin >> num;
// 判断是几位数
if (num < 10)
{
n = 1;
}
else if (num < 100)
{
n = 2;
}
else if (num < 1000)
{
n = 3;
}
else if (num < 10000)
{
n = 4;
}
else
{
n = 5;
}
// 分别打印出每一位数字
for (i = 0; i < n; i++)
{
arr[i] = num % 10;
num = num / 10;
}
cout << "它是" << n << "位数,每一位数字分别是:";
for (i = n - 1; i >= 0; i--)
{
cout << arr[i] << " ";
}
// 按逆序打印出各位数字
cout << endl << "按逆序打印出各位数字:";
for (i = 0; i < n; i++)
{
cout << arr[i];
}
cout << endl;
return 0;
}
```
运行程序,输入一个不多于5位的正整数,即可得到结果。
用c++编写给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123。
好的,这是一个简单的实现,以下是代码:
```c++
#include <iostream>
using namespace std;
int main() {
int num, digit = 0, temp;
cout << "请输入一个不多于5位的正整数:";
cin >> num;
if (num >= 10000 || num <= 0) {
cout << "输入错误,请重新输入!" << endl;
return 0;
}
temp = num;
//求出它是几位数
while (temp != 0) {
temp /= 10;
digit++;
}
cout << num << "是" << digit << "位数" << endl;
//分别打印出每一位数字
temp = num;
for (int i = digit - 1; i >= 0; i--) {
int base = pow(10, i);
cout << temp / base << " ";
temp %= base;
}
cout << endl;
//按逆序打印出各位数字
temp = num;
while (temp != 0) {
cout << temp % 10;
temp /= 10;
}
cout << endl;
return 0;
}
```
程序运行后,会提示您输入一个不多于5位的正整数,然后根据输入的数字,求出它的位数、每一位数字,并按逆序打印出各位数字。注意,这个程序只是一个简单的实现,实际上需要考虑更多的错误处理,如输入负数、输入超过5位数的数字等。
阅读全文