用键盘输入任意一个十进制整数;利用堆栈将其转换成R进制的数值,并输出结果。c++实现
时间: 2023-12-03 11:44:20 浏览: 42
以下是C++代码实现:
```cpp
#include <iostream>
#include <stack>
using namespace std;
int main()
{
int n, R;
stack<int> s;
cout << "请输入一个十进制整数:";
cin >> n;
cout << "请输入要转换的进制R:";
cin >> R;
while (n > 0)
{
s.push(n % R);
n /= R;
}
cout << "转换后的" << R << "进制数为:";
while (!s.empty())
{
int t = s.top();
s.pop();
cout << t;
}
cout << endl;
return 0;
}
```
这段代码首先读入一个十进制整数n和要转换的进制R,然后利用堆栈将n转换成R进制,最后输出结果。具体的实现过程是:将n不断除以R,将余数压入堆栈,直到n为0为止;然后依次将堆栈中的元素弹出并输出即可。
相关问题
任意输入一个十进制整数,利用前面的堆栈函数输出其对应的八进制整数系数c/c++
以下是利用堆栈函数输出十进制整数对应的八进制整数系数的 C++ 代码:
```c++
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> s;
int num;
cout << "请输入一个十进制整数:";
cin >> num;
while (num > 0) {
s.push(num % 8); // 8进制除数为8
num /= 8;
}
cout << "对应的八进制整数系数为:";
while (!s.empty()) {
cout << s.top();
s.pop();
}
cout << endl;
return 0;
}
```
运行程序,输入一个十进制整数,即可得到其对应的八进制整数系数。
c语言任意输入一个十进制正整数,将其转换成二进制输出,不要用数组
可以使用位运算符来将十进制正整数转换成二进制。
具体步骤如下:
1. 定义一个变量 `num` 存储输入的十进制正整数,另一个变量 `binary` 存储转换后的二进制数。
2. 初始化 `binary` 为 0。
3. 使用循环将 `num` 转换成二进制数,循环条件为 `num` 不为 0。在循环中,每次将 `num` 的最后一位取出来,然后将其加入到 `binary` 中。
4. 输出转换后的二进制数 `binary`。
以下是示例代码:
```c
#include <stdio.h>
int main()
{
int num, binary = 0, i = 1;
printf("请输入一个十进制正整数:");
scanf("%d", &num);
while (num != 0) {
binary += (num % 2) * i;
i *= 10;
num /= 2;
}
printf("转换后的二进制数为:%d", binary);
return 0;
}
```
注意,这里用了一个变量 `i` 来表示当前位数的权值,初始值为 1。每次循环时,都将其乘以 10,相当于将位数向左移动一位。这个 `i` 可以替换成移位运算符 `<<`,效果是一样的。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)