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;i cout对于大于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;
}