请编写一个函数unsigned fun(unsigned w),w使一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。
请编写一个函数unsigned fun(unsigned w),w使一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。
#include <stdio.h>
unsigned fun(unsigned w)
{
if (w < 10)
{
return 0;
}
unsigned temp = w;
unsigned count = 0;
while (temp > 0)
{
temp /= 10;
count++;
}
unsigned pow_value = 1;
for (unsigned i = 0; i < count - 1; i++)
{
pow_value *= 10;
}
unsigned result = w % pow_value;
return result;
}
int main()
{
unsigned w = 12345;
unsigned result = fun(w);
printf("从 w 中提取的后 n-1 位数为:%u\n", result);
return 0;
}