第十五题
请编写一个函数unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数作为函数值返回。
例如:w值为5923,则函数返回923;若w值为923,则函数返回23。
/*
请编写一个函数unsigned fun(unsigned w),
w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数作为函数值返回。
例如:w值为5923,则函数返回923;若w值为923,则函数返回23。
*/
/*
1.如何判断一个数是几位数?while循环可以
2.怎么判断输入的是无符号整数?这个还没搞懂
*/
#include <iostream>
#include <cmath>
using namespace std;
#define MAXSIZE 30
unsigned fun(unsigned w)
{
int num[MAXSIZE]={0};
int n=0;
while(w!=0)
{
num[n]=w%10;
w/=10;
//cout<<w<<endl;
n++;
}
//结果输出一个数,而不是输出数组
unsigned res=0;
for(int m=0;m<n-1;m++)
{
res+=num[m]*pow(10,m);
}
return res;
}
int main()
{
unsigned w = 923;
cout<<"w="<<w<<endl;
cout<<"res="<<fun(w)<<endl;
return 0;
}
运行结果截图: