我正在处理将整数值转换为每一行的项目。 例如:
23487
输出
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;
}
如果我使用int而不是字符串,有人可以帮助我吗?
答案 0 :(得分:2)
对于大于0的整数值,您可以使用:
void Print(int val)
{
if (val > 0)
{
Print(val/10);
cout << val%10 << endl;
}
}
答案 1 :(得分:0)
尝试
#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;
}
请注意,数字将向后打印。
答案 2 :(得分: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;
}