c++编程问题:如何输出一个数的各位上的数
//输出一个数的各位上的数#include<iostream>#include<cmath>usingnamespacestd;voidmain(){intn,a,i;d...
//输出一个数的各位上的数
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
int n,a,i;
double e,b;
cout<<"请输入一个数n";
cin>>n;
a=(int)log10(n)+1;
cout<<"n为"<<a<<"位数\n";
for(i=0;i<a;i++)
{
e=pow(10,i);
b=n/e%10;//这步错了
cout<<"从左至右第"<<a-i<<"位是"<<b<<endl;
}
}
这道题 不知道哪出错了 运行不出来 。请大家帮帮忙帮解一下。谢谢啦!!! 展开
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
int n,a,i;
double e,b;
cout<<"请输入一个数n";
cin>>n;
a=(int)log10(n)+1;
cout<<"n为"<<a<<"位数\n";
for(i=0;i<a;i++)
{
e=pow(10,i);
b=n/e%10;//这步错了
cout<<"从左至右第"<<a-i<<"位是"<<b<<endl;
}
}
这道题 不知道哪出错了 运行不出来 。请大家帮帮忙帮解一下。谢谢啦!!! 展开
3个回答
展开全部
关键楼主错的那行,你是把double型的数据拿来做“%”运算了,这是不允许的,“%”只允许用来做整型的运算,所以你只要把e的类型改为int就可以了。
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
int n,a,i,e;
double b;
cout<<"请输入一个数n=";
cin>>n;
a=(int)log10(n)+1;
cout<<"n为"<<a<<"位数\n";
for(i=0;i<a;i++)
{
e=pow(10,i);
b=n/e%10;//这步错了
cout<<"从左至右第"<<a-i<<"位是"<<b<<endl;
}
}
运行结果:
展开全部
关键楼主错的那行,你是把double型的数据拿来做“%”运算了,这是不允许的,“%”只允许用来做整型的运算,所以你只要把e的类型改为int就可以了。
#include
#include
using namespace std;
void main()
{
int n,a,i,e;
double b;
cout<<"请输入一个数n=";
cin>>n;
a=(int)log10(n)+1;
cout<<"n为"<
#include
#include
using namespace std;
void main()
{
int n,a,i,e;
double b;
cout<<"请输入一个数n=";
cin>>n;
a=(int)log10(n)+1;
cout<<"n为"<
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
int n,a,i;
double e,b;
cout<<"请输入一个数n";
cin>>n;
a=(int)log10(n)+1;
cout<<"n为"<<a<<"位数\n";
for(i=0;i<a;i++)
{
e=pow(10,i);
b=(int)(n/e)%10;//强制类型转换
cout<<"从左至右第"<<a-i<<"位是"<<b<<endl;
}
}
#include<cmath>
using namespace std;
void main()
{
int n,a,i;
double e,b;
cout<<"请输入一个数n";
cin>>n;
a=(int)log10(n)+1;
cout<<"n为"<<a<<"位数\n";
for(i=0;i<a;i++)
{
e=pow(10,i);
b=(int)(n/e)%10;//强制类型转换
cout<<"从左至右第"<<a-i<<"位是"<<b<<endl;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询