怎么将数字转化成一个字符串数组?(语言-c++)

img


例如将数字12321转化成数组1 2 3 2 1该怎么改这个代码啊?求各位专业人士解答

该回答内容部分引用GPT,GPT_Pro更好的解决问题
如果要将数字12321转化成数组1 2 3 2 1,可以使用C++中的字符串操作和循环。首先,我们可以将这个数字转换成字符串,然后使用for循环将每一位数字的字符都取出来,再将取出的每一位字符转换成整数,最后将它们存储在一个新的数组中即可。

// 将数字12321转化成数组1 2 3 2 1
#include<iostream>
#include<string>
using namespace std;
int main(){
    int num=12321; // 要转换的数字
    // 将int型数字转换成string型
    string s = to_string(num);
    int len = s.length(); // 获取长度
    int arr[len]; // 存储转换后的结果
    for(int i=0;i<len;i++){
        arr[i]=s[i]-'0'; // 取出每一位字符,再转换成整型
    }
    for(int i=0;i<len;i++){
        cout<<arr[i]<<endl; // 输出结果
    }
    
    return 0;
}

如果回答有帮助,望采纳。

#include <stdio.h>
#include <stdlib.h>

int main() {
    int num = 123123;
    char str[6];
    itoa(num, str, 10);
    for (int i = 0; i < 6; i++) {
        printf("%c\n", str[i]);
    }
    return 0;
}

简单,通俗易懂,望采纳

#include<iostream>
#include<string>
using namespace std;
int b[1000];
int main(){
    int a,i = 0;
    cin >> a;
    while (a)
    {
        b[i]=a%10;
        a/=10;
        i++;
    }
    i-=1;
    for(;i>=0;i--){
        cout << b[i] <<" ";
    }
    return 0;
}

可以用sprintf