设w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的低n-1位的数作为函数的返回值。如w=5923

设w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的低n-1位的数作为函数的返回值。如w=5923,则函数返回值为923.

第1个回答  2020-04-02
unsigned fun(unsigned w)
{
//以下区域完成代码
int i;
for (i = 10;; i *= 10)
{
// 第一步:判断w能被什么数取余之后等于w,
// 那么就求出了这个数字的位数,
if (w % i == w) {
// 此时 在w取余(i除以10)
return w % (i / 10);
}
}
}
第2个回答  2011-06-27
#include <stdio.h>

int main(void)
{
int w, n;
int i, tmp = 1;

scanf("%d%d", &n, &w);
for (i = 1; i < n; i++)
tmp *= 10;

printf("%d\n", w % tmp);
return 0;
}

输入:4 5923
输出:923本回答被提问者采纳
第3个回答  2011-06-28
#include <stdio.h>

int main(void)
{
unsigned long w,result;
int length=0;
unsigned char tmp[];

scanf("%d", &w);

while(w>0)
{
tmp[length] = w%10;
length++;
w /= 10;
}

while(length)
{
result *= 10;
result += tmp[length-2];
}

printf("%d\n", result);

return 1;
}

没调试过,去调试下吧……
第4个回答  2011-06-24
很初级的c语言吧?这种东西还是自己写吧。太依赖网络没好处。
相似回答