设w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的低n-1位的数作为函数的返回值。如w=5923
发布网友
发布时间:2023-02-20 07:02
我来回答
共4个回答
热心网友
时间:2023-09-28 22:28
unsigned fun(unsigned w)
{
//以下区域完成代码
int i;
for (i = 10;; i *= 10)
{
// 第一步:判断w能被什么数取余之后等于w,
// 那么就求出了这个数字的位数,
if (w % i == w) {
// 此时 在w取余(i除以10)
return w % (i / 10);
}
}
}
热心网友
时间:2023-09-28 22:29
#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
热心网友
时间:2023-09-28 22:29
#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;
}
没调试过,去调试下吧……
热心网友
时间:2023-09-28 22:30
很初级的c语言吧?这种东西还是自己写吧。太依赖网络没好处。