C++实现二进制转八进制及旋律类型判断
### 💻二进制转八进制代码 ```cpp #include <iostream> #include <string> #include <bitset> #include <sstream> int main() { std::string binary; std::cin >> binary; // 补零,使二进制长度是3的倍数 while (binary.length() % 3 != 0) { binary = "0" + binary; } std::stringstream octalStream; for (int i = 0; i < binary.length(); i += 3) { std::string group = binary.substr(i, 3); std::bitset<3> bits(group); octalStream << bits.to_ulong(); } std::string octal = octalStream.str(); std::cout << octal << std::endl; return 0; } ``` ### 代码解释 1. 首先读取输入的二进制字符串。 2. 为了方便转换,补零使二进制字符串的长度是3的倍数。 3. 按每3位二进制数一组进行处理,将每组转换为对应的八进制数字。 4. 最后将所有转换后的八进制数字拼接输出。 ### 🎵判断旋律类型代码 ```cpp #include <iostream> #include <vector> int main() { std::vector<int> notes(7); for (int i = 0; i < 7; ++i) { std::cin >> notes[i]; } bool isAscending = true; bool isDescending = true; for (int i = 1; i < 7; ++i) { if (notes[i] > notes[i - 1]) { isDescending = false; } if (notes[i] < notes[i - 1]) { isAscending = false; } } if (isAscending) { std::cout << "升序" << std::endl; } else if (isDescending) { std::cout << "降序" << std::endl; } else { std::cout << "混合" << std::endl; } return 0; } ``` ### 代码解释 1. 首先读取7个音符的输入,存储在向量中。 2. 初始化两个布尔变量`isAscending`和`isDescending`为`true`。 3. 遍历音符序列,根据相邻音符的大小关系更新`isAscending`和`isDescending`。 4. 根据`isAscending`和`isDescending`的值输出结果。 ######[AI问答 | 629点数解答 | 2026-03-21 19:50:41]
- JS函数 change(n,x):轻松实现数字二进制与八进制转换及注意要点(百度文心 | 436点数解答 | 2025-04-09 22:19:11)137
- MySQL 数据库操作:用德鲁伊连接池和 Spring JDBC 实现 MVC 架构下 Student 表操作及事务测试全解析(字节豆包 | 1115点数解答 | 2025-03-19 11:17:31)289
- Spring JDBC+德鲁伊连接池:MVC架构下MySQL学生表查询、事务验证及代码实现全解析(DeepSeek | 1275点数解答 | 2025-03-19 11:21:32)273
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)534
- C++ 实现超实用单门课程成绩管理系统,教师学生灵活使用! (GPT | 68点数解答 | 2024-05-24 10:17:09)329
- C++实现:功能完备的单门课程成绩管理系统(GPT | 4293点数解答 | 2024-05-24 10:20:03)375
- C++ 实现以 9 为基数的加法运算:代码示例与注意要点(字节豆包 | 349点数解答 | 2024-12-22 15:04:41)241
- C++ 实现:判断 N 个数在二进制、八进制、十进制、十六进制下的可能性(字节豆包 | 812点数解答 | 2026-01-02 19:28:20)46
- Python实现:判断数字在二进制、八进制、十进制、十六进制中的可能性(字节豆包 | 405点数解答 | 2026-01-02 19:43:33)42
- 巧用 Python:判断数字在二进制、八进制、十进制、十六进制中的可能性(字节豆包 | 251点数解答 | 2026-01-02 19:44:35)46