第十一周趣味取小数

来源:互联网 发布:apache mina框架 编辑:程序博客网 时间:2024/05/21 16:57


题目描述

听说大家最近学得不错,教授就准备考考大家,先做出来有奖哦~

编写一个函数,取一个小数的第n(-10<=n<=16)位,当n大于0时,从小数点位置开始向右取小数部分第n位,当n小于0时,从小数点位置开始向左取整数部分的第n位。

#include <stdio.h>
#include <string.h>
int get_one_digit(double num,int n); /*函数声明*/
int main()
{
    double number;
    int n;
    int digit;  /*第n位数字*/
    scanf("%lf %d",&number,&n); /*输入数据*/
    digit=get_one_digit(number,n);  /*调用查找第n位数字并将数字返回复制给digit*/
    printf("%d\n",digit);
    return 0;
}

主程序已给出,请编写get_one_digit函数并提交该函数即可

输入

一个小数,取小数的第n

输出

小数的第n

样例输入

5.5772156649015328  10

样例输出

9
#include <stdio.h>#include <string.h>int get_one_digit(double num,int n);int main(){    double number;    int n;    int digit;    scanf("%lf %d",&number,&n);    digit=get_one_digit(number,n);    printf("%d\n",digit);    return 0;}int get_one_digit(double num,int n){    long z;    double x;    z=num;    if(n>0)    {        x=num-z;        while ( n > 0 )        {            x = x - (int)x;            x *= 10;            n--;        }        return (int)x;    }    else    {        n=-n;        while(n>1)        {            z/=10;            n--;        }        return z%10;    }}

0 0
原创粉丝点击