请编写一个unsigned fun(unsigned w)函数,w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。 例如:w值为5923,则函数返回923;w值为923则函数返回23。


代码如下:

				
/* 注:由于unsigned型整数在0-65535这间,只要它大于10000则对10000求余即得出后
面4位,否则如果大于1000则对1000求余得出后3位数,这样一层一层往小的判断。由于
return的作用除了返回值以外,还有当执行到return时就跳出该程序,所以可以连续的用if()语句。 */

#include<stdio.h>

unsigned fun(unsigned w)
{
     if(w>=10000)
         return w%10000;
     if(w>=1000)
         return w%1000;
     if(w>=100)
         return w%100;
     return w%10;
}

int main()
{
     unsigned n,k=0;
     while(k<10)//可测试10组数据
     {
         printf("Please input a number n (n>10):");
         scanf("%d",&n);
         if(n<=10)
             printf("Data error!\n");
         else
             printf("The result is:%d\n",fun(n));
         k++;
     }
     return 0;
}



联系我们 | 友情链接