6-33 输出一个正整数的后n-1位 (5分)
请编写一个函数 unsigned fun ( unsigned w ),w 是一个大于10的无符号整数,若 w 是 n (n ≥ 2)位的整数,函数求出w的低 n-1位的数作为函数值返回。 例如:w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。
函数接口定义:
unsigned fun ( unsigned w );
其中 w 是用户传入的参数。函数须返回 w 后n-1位。
裁判测试程序样例:
#include <stdio.h>
unsigned fun ( unsigned w );
int main( )
{ unsigned x;
while(scanf ( “%u”, &x )!=EOF)
{
if ( x < 10 ) printf (“Data error!\n”);
else printf ( “%u\n”, fun ( x ) );
}
return 0;
}
/* 请在这里填写答案 */
输入样例:
923
输出样例:
23
#include<math.h>
unsigned fun ( unsigned w )
{
int a[100],i=0,n,y=0;
while(w!=0){
a[i]=w%10;
w=w/10;
i++;
}
n=i;
for(i=n-2;i>=0;i--)//总喜欢写成i++
y=y*10+a[i];
return y;
}