Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;逐行输入整数位数_C++ - Fatal编程技术网

C++ C++;逐行输入整数位数

C++ C++;逐行输入整数位数,c++,C++,我正在处理将整数值转换为每行的项目。 例如: 输出将是 2 3 4 8 7 如果我使用字符串,我知道代码,但我认为使用整数更好 我当前使用字符串的代码: #include <iostream> #include <string> using namespace std; int main() { string str("23487"); for (int i = 0; i < str.size(); i++){ cout << str[i] &

我正在处理将整数值转换为每行的项目。 例如:

输出将是

2
3
4
8
7
如果我使用字符串,我知道代码,但我认为使用整数更好

我当前使用字符串的代码:

#include <iostream>
#include <string>
using namespace std;
int main() {
string str("23487");
for (int i = 0; i < str.size(); i++){
    cout << str[i] << endl;
}
system("pause");
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
字符串str(“23487”);
对于(int i=0;icout对于大于0的整数值,可以使用以下方法:

void Print(int val)
{
    if (val > 0)
    {
        Print(val/10);
        cout << val%10 << endl;
    }
}
void打印(int-val)
{
如果(val>0)
{
打印(val/10);
试试看

#包括
int main(int argc,char*argv[])
{
整数值=23487;
而(值>0)
{
int d=值%10;
数值/=10;
printf(“d=%d\n”,d);
}
返回0;
}

请注意,数字将向后打印。

尝试此操作……此代码将按您所需的方式打印……)

#包括
#包括
使用名称空间std;
int main(){
int a=23487,ara[10],i=0,j;
while(a)
{
ara[i++]=a%10;
a/=10;
}
对于(j=i-1;j>=0;j--)

coutHint:你打印2,然后是3487。我不确定我是否理解这个问题——你想把实际的整数转换成每一个单个数字吗?看起来像是一个分配/作业,很清楚是什么他问。BTW你可以把你的整数打印成一个字符串…好的递归,但是对于菜鸟来说不是太多吗?Spktrtr:我已经想到了,是的。我认为OP希望他们打印出来。避免在C++中使用C标准库。你也不必限定函数,使用<代码> Value<代码>。我听到。不,我认为这很容易做到。将单个数字存储在一个数组中,然后以相反的顺序打印数组…@JCM:当然可以做到……但是你的代码没有做到。
void Print(int val)
{
    if (val > 0)
    {
        Print(val/10);
        cout << val%10 << endl;
    }
}
#include <stdio.h>

int main(int argc, char * argv[]) 
{

int value = 23487;

while(value > 0)
{
    int d = value % 10;

    value /= 10;

    printf("d = %d\n", d);
}

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