有两个int型的变量a和n(0<=n<=31),要求写一个表达式,使该表达式值和a的第n位相同。

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:41:02
这是我在学习右移运算符后给出的一个思考题,参考书上没答案也不知道自己写的对不对,大家一起来风暴下吧~谢谢了

设s

s=(a%(int)pow10(n)-a%(int)pow10(n-1))/(int)pow10(n-1);

应该对

注:
函数名: pow10
功 能: 指数函数(10的p次方)
用 法: double pow10(int p);
程序例:

#include <math.h>
#include <stdio.h>

int main(void)
{
double p = 3.0;

printf("Ten raised to %lf is %lf\n", p, pow10(p));
return 0;
}

楼主是学C语言的吗?这是课本(参考书)的变式,在“输入和输出”和“函数”章节有所提示哦~~~~~~具体···说不清,楼主加油!!!
我是C语言菜鸟,个人认为,直接取第n位不久得了吗?(我B语言还可以,B语言有这个函数哦)

可以用递归啊

(a/(n*10))%10