📄 取n位的数字.cpp
字号:
#include<iostream>
using namespace std;
#include<cmath>
int f(unsigned long x,int n,int &Lxn);
void main()
{
unsigned long x;
int n,Lxn;
cout<<"请输入在0-4294967295之间的整数,否则后果自负"<<endl;
cin>>x;
cout<<"请输入要获得数字在第几位(从左往右):"<<endl;
cin>>n;
cout<<x<<"的第"<<n<<"位上的数字为"<<Lxn<<endl
<<"倒数第"<<n<<"位上的数字为"<<f(x,n,Lxn)<<endl;
}
int f(unsigned long x,int n,int &Lxn)
{
int a;
int i,j;
int w;
if(x<10)
{
while(n>1)
{cout<<"超出了位数,请重新输入:";
cin>>n;}
Lxn=x;
return a=x;
}
else if (x<pow(10,2))w=2;
else if (x<pow(10,3)) w=3;
else if (x<pow(10,4)) w=4;
else if (x<pow(10,5)) w=5;
else if (x<pow(10,6)) w=6;
else if (x<pow(10,7)) w=7;
else if (x<pow(10,8)) w=8;
else if(x<pow(10,9)) w=9;
else w=10;
while(n>w)
{cout<<"超出了位数,请重新输入:";
cin>>n;}
unsigned long x1=x;
for (i=1;i<=w-n;i++) //把n以后的位数都除去
x=x/10;
Lxn=x%10; //和10取余得到第n位数字
for (j=1;j<=n-1;j++)
x1=x1/10;
a=x1%10;
return a;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -