求教一个C++问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 04:19:23
输入一个整数,从高位开始逐位分割并输出它的各位数字。例,123456 1 2 3 4 5 6,不好意思实在没分,真心求教。请高手用基础点的语言,用for do while 或嵌套循环

#include<iostream>
#include<string>
using namespace std;

int main()
{
long in = 0;
cout<<"输入一整数:"<<ends;
cin>>in;
cout<<endl;
//分解各位数字到数组
long num = in; //要求的数字
long q_s = 1; //权数
int k = 0; //位数
long n = num;
while( n >= 10 )
{
n /= 10;
q_s *=10;
k++;
}
k+=1;
cout<<"这是一个"<<k<<"位数字。"<<endl;
cout<<"最高权数为:"<<(long)q_s<<endl;

cout<<"各位上的数字依次为:"<<endl;
long* pwen = NULL; //保存各位数字的数组
pwen = new long[k];
n = num;
while(--k>=0)
{
pwen[k] = (long)(n/q_s);
n -= pwen[k]*q_s;
q_s /= 10;
cout<<pwen[k]<<endl;
}
return 0;
};

#include "stdio.h"

void func(int n)
{
if(n > 1