#include <iostream>
using namespace std;
//可以选择返回void,将int a[100]作为全局变量
int * getNumber(int n,int count)//n为要提取的整数,count为n的位数
{
static int a[100] = { 0 };//用于存放int的每一位数
for(int i = count-1; i >=0; i--) {
//可以用 int i = 0; i <count; i++;这样会让高位变低位如123变为321
a[i] = n % 10;//将每一位数放到数组中,n%10获得的是个位的数字
n /= 10;//去除个位上的数字
}
return a;
}
int main() {
int n;
cin>>n;
int count=1;
int n1=n;
//计算有多少位数
while (n1 /= 10)
{
count++;
}
int *p;//获取返回数组a的地址
p=getNumber(n,count);
//输出
for(int i = 0; i < count; i++) {
cout << *(p + i);
}
}
使用了函数的方法,更加方便使用。若需要处理的整数n只有1个,可以考虑将整形数组int a[100]作为全局变量(书写更加方便)。
#include <iostream>
using namespace std;
int a[100] = { 0 };//用于存放int的每一位数
void getNumber(int n,int count)
{
for(int i = count-1; i >=0; i--) {
//可以用 int i = 0; i <count; i++;这样会让高位变低位如123变为321
a[i] = n % 10;//将每一位数放到数组中,n%10获得的是个位的数字
n /= 10;//去除个位上的数字
}
}
int main() {
int n;
cin>>n;
int count=1;
int n1=n;
//计算有多少位数
while (n1 /= 10)
{
count++;
}
//输出
getNumber(n,count);//调用函数
for(int i = 0; i < count; i++) {
cout << a[i];
}
}