C语言习题5.13--趣味取小数
2015-12-27 16:54
363 查看
题目描述
听说大家最近学得不错,教授就准备考考大家,先做出来有奖哦~编写一个函数,取一个小数的第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(){doublenumber;int n;intdigit; /*第n位数字*/scanf("%lf%d",&number,&n); /*输入数据*/digit=get_one_digit(number,n);/*调用查找第n位数字并将数字返回复制给digit*/printf("%d\n",digit);return0;}主程序已给出,请编写get_one_digit函数并提交该函数即可输入
一个小数,取小数的第n位输出
小数的第n位样例输入
5.5772156649015328 10
样例输出
9#include<stdio.h>#include <string.h>
int
get_one_dight(
double
num,
int
n);
/*函数声明*/
int
main(){
double
number;
int
n;
int
digit;
/*第n位数字*/
scanf
(
"%lf %d"
,&number,&n);
/*输入数据*/
digit=get_one_dight(number,n);
/*调用查找第n位数字并将数字返回复制给digit*/
printf
(
"%d\n"
,digit);
return
0;
}
int
i=0,a,s;
int
get_one_dight(
double
num,
int
n){
if
(i==n)
return
(
int
)a;
else
{
if
(n>0)
{
a=(
int
)num;
num=num-a;
num*=10;
a=(
int
)num;
i++;
get_one_dight(num,n);
}
if
(n<0)
{
s=(
int
)num;
a=s%10;
s=s/10;
i=i-1;
get_one_dight(s,n);
}
}
return
a;}
相关文章推荐
- C语言习题5.19--递归方法实现逆序
- C语言习题&nbsp;牛顿迭代法求根
- C语言习题&nbsp;求sinh(x)
- C语言习题5.8--求两个整数的最大公…
- C语言习题&nbsp;a!+b!+c!
- C语言实验——素数
- C语言实验--字符变量的输入输出
- C语言实验——打印数字图形
- C语言实验——一元二次方程&#8545;
- C语言实验——输入数字星期,输出英…
- C语言如何 实现 下雪效果
- C++11简化线程池的实现
- 【C++】深度探索C++对象模型之站在对象模型的顶端
- Eclipse下搭建C/C++开发环境
- C++ review(1) - Basics
- C++11笔记1
- C++学习笔记38——智能指针
- c++11 constexpr常量表达式
- [c++ 温故知新] c++ 头文件和cpp文件关系
- c++14对内存分配性能的重大优化