如何从个位开始按照从低位到高位的顺序依次输出每一位数字?

给定一个整数,要求从个位开始分离出它的每一位数字。
从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个英文逗号分开。

#include <iostream>
using namespace std;
int main()
{
    int i = 1234;
    cout << i % 10;
    while (i / 10) {
        i /= 10;
        cout << "," << i % 10;
    }
    return 0;
}

输出:
4,3,2,1

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7648771
  • 这篇博客也不错, 你可以看下输入一个整数,从高位开始逐位分割并输出各位数字。
  • 除此之外, 这篇博客: 递归函数将一个正整数的各位由高到低依次输出中的 测试程序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 代码写的不是很规范…

    int rank_num(int num)
    {
    	int a=num/10;
    	int b=num%10;
    	int c;
    	int d=1;
    	if(a>10)
    	{
    		c=a=rank_num(a);
    		for(;;)
    		{
    			if(b>(a%10)&&a!=0)
    			{
    				a=a/10;
    			}
    			else
    			{
    				if(a==0)
    				{
    					return (b*d)+c;
    				}
    				else if(a==c)
    				{
    					return (c*d*10)+b;
    				}
    				else
    				{
    					return (a*d*10)+(b*d)+(c%d);
    				}
    				
    			}
    			d=d*10;
    		}
    	}
    	else
    	{
    		return a>b?(num):(b*10)+a;
    	}
    }
    
    
  • 您还可以看一下 张传波老师的高级软件需求分析与需求管理实践课程中的 序列图基本语法与练习小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以使用字符串操作和循环来解决这个问题。可以按照以下步骤进行:

    1. 定义一个整型变量num,用于存储输入的整数。
    2. 将整数转换为字符串,方便进行字符操作。
    3. 创建一个空字符串result,用于存储分离出的每一位数字。
    4. 使用一个循环从个位开始,依次取出每一位数字并转换为字符,然后将其拼接到result字符串中。
    5. 在循环过程中,将num除以10,将其剩余的部分更新为新的num,直至num为0为止。
    6. 最后,将result字符串以逗号为分隔符输出。

    下面是具体的代码实现:

    def separate_digits(num):
        num_str = str(num)
        result = ""
        for i in range(len(num_str)):
            digit = num_str[i]
            result += digit
            if i != len(num_str) - 1:
                result += ","
        return result
    
    # 测试
    num = 1234567890
    separated = separate_digits(num)
    print(separated)
    

    运行以上代码,将会输出 "0,9,8,7,6,5,4,3,2,1",即按照从个位到最高位的顺序分离出整数的每一位数字,并用逗号进行分隔。

    通过以上解决方案,可以实现按照从个位到最高位的顺序分离出一个整数的每一位数字,并将其以逗号分隔开。

有用希望可以点个采纳:

#include <iostream>
#include <vector>

std::vector<int> separateDigits(int num) {
    std::vector<int> digits;
    
    // 处理特殊情况
    if (num == 0) {
        digits.push_back(0);
        return digits;
    }
    
    // 提取每一位数字
    while (num != 0) {
        int digit = num % 10; // 取个位数字
        digits.push_back(digit); // 将数字添加到向量中
        num /= 10; // 去掉最后一位数字
    }
    
    return digits;
}

int main() {
    int num;
    std::cout << "请输入一个整数: ";
    std::cin >> num;
    
    std::vector<int> digits = separateDigits(num);
    
    // 打印每一位数字
    std::cout << "分离出的每一位数字: ";
    for (int i = digits.size()-1; i >= 0; i--) {
        std::cout << digits[i];
        if (i != 0) {
            std::cout << ", ";
        }
    }
    std::cout << std::endl;
    
    return 0;
}