C语言 提取double的每一位
#include<stdio.h>
int main()
{
double x = 256.141592654;
int n = (int)x % ; //整数部分
while(n) //整数部分输出
{
int temp = n % ;
n /= ;
printf("%d\n", temp);
} int i = ;
while(i>) //输出5位小数
{
x = x*;
printf("%d\n",(int)x%); //强制将double转换成int,因为求余(%)必须为int类型,
i--;
} return ;
}
附:C语言,如何输出每一位数字? https://zhidao.baidu.com/question/584309257492424645.html
一、传统方法,通过除法和模除,取出每一位,并输出。
#include<stdio.h>
void output(int n)
{
int a[];
int l=;
/*
循环获取每一位的值,并存到数组a中。
其中l表示已经获取到的位数。
由于每次获取的是个位n%10,所以存在数组a中的是各个位数的逆序。
*/
while(n)
{
a[l++] = n%;
n/=;
}
//反序输出每一位值。
while(--l>=)
printf("%d ", a[l]);
}
int main()
{
int n;
scanf("%d",&n);//输入n值。
output(n);//输出各个位。
return ;
}
二、转为字符串,然后输出字符串各个字符。
由于在C语言中,有很多库函数,比如itoa, sprintf等,都可以很方便的将整数转为字符串,而逐位输出字符串各个字节值是很简单的,所以可以通过转为字符串,再输出的方式输出各个位的值。
#include<stdio.h>
void output(int n)
{
char a[];
int i;
sprintf(a, "%d", n);//转为字符串。
for(i = ; a[i]; i++)//遍历字符串。
printf("%c ", a[i]);//输出各个位值。
}
int main()
{
int n;
scanf("%d",&n);//输入n值。
output(n);//输出各个位。
return ;
}
C语言 提取double的每一位的更多相关文章
- 2017-2018-1 20155306 《信息安全系统设计基础》嵌入式C语言———提取设置时分秒
2017-2018-1 20155306 <信息安全系统设计基础>嵌入式C语言---提取设置时分秒 要求:根据下图,完成对时分秒的设置和提取. 示例及思路分析: 思路分析:以分钟为例,根据 ...
- 嵌入式C语言——提取时分秒
嵌入式C语言--提取时分秒 题目: 相关知识点 提取位: 插入位 用宏定义定义地址 #define TIME_Addr 0xFFFFC0000 #define TIME *(volatile int ...
- Double 数据保留两位小数一:五舍六入
package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...
- Double 数据保留两位小数二:直接截取小数后面两位,不进行四舍五入
package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- 用R语言提取数据框中日期对应年份(列表转矩阵)
用R语言提取数据框中日期对应年份(列表转矩阵) 在数据处理中常会遇到要对数据框中的时间做聚类处理,如从"%m/%d/%Y"中提取年份. 对应操作为:拆分成列表——列表转矩阵——利用 ...
- 笔记:C语言数据类型在32位与64位机器上的字节数
读<深入理解计算机系统> 第二章 信息的表示与处理 32位与64位的典型值,单位字节 声明 32位机器 64位机器 char 1 1 short int int 4 4 long int ...
- 【C】用C语言提取bmp图片像素,并进行K-means聚类分析——容易遇到的问题
关于bmp图片的格式,网上有很多文章,具体可以参考百度百科,也有例子程序.这里只提要注意的问题. (1)结构体定义问题:首先按照百度百科介绍的定义了结构体,但是编译发现重定义BITMAPFILEHEA ...
- 如何把Java的double类型变量保留两位小数
已知 双精度标量 f, 如果想以字符串形式输出,小数点后保留2位,可直接通过C语言的输出格式,System.out.printf("%.2f", f), 达到目的. 如果想要先转 ...
随机推荐
- Mongodb 备份 数据导出导入
MongoDB 客户端工具 mongochef 可以进行一系类操作 MongoDB 非客户端操作 : mongod 备份导出 mongoexport -h IP --port 端口 -u 用户名 -p ...
- js获取对象的最后一个
Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-i ...
- 【BARTS计划】【Tips_Week1】20190331更新
BARTS计划 · Review :每周学习至少一个技术技巧. 一.快捷键 1. 快速批量注释代码的方法:选中需要注释的代码,按 ctrl+/ 二.重要命令行命令 1. 新增文件:git add a. ...
- Linq基于两个属性的分组
1.需求 我们看下面的定义 #region 学生类 /// <summary> /// 学生类 /// </summary> class Student { /// <s ...
- Pytorch 入门之Siamese网络
首次体验Pytorch,本文参考于:github and PyTorch 中文网人脸相似度对比 本文主要熟悉Pytorch大致流程,修改了读取数据部分.没有采用原作者的ImageFolder方法: ...
- 【转】每天一个linux命令(1):ls命令
ls命令是linux下最常用的命令.ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单.如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通过ls命令不仅可以查看linux ...
- ORA-01017: invalid username/password; logon denied 解决方案
在SQLPLUS窗口下进行用户登录,出现ORA-01017:invalid username/password:logon denied .如下图: 在网上找了很久,发现一个实用的解决方案,操作如下: ...
- saltstack自动化运维系列11基于etcd的saltstack的自动化扩容
saltstack自动化运维系列11基于etcd的saltstack的自动化扩容 自动化运维-基于etcd加saltstack的自动化扩容# tar -xf etcd-v2.2.1-linux-amd ...
- JS算法之二分查找
二分查找法主要是解决「在一堆有序的数中找出指定的数」这类问题,不管这些数是一维数组还是 多维数组,只要有序,就可以用二分查找来优化. 二分查找是一种「分治」思想的算法,大概流程如下: 1.数组中排在中 ...
- 纯 Java 开发 WebService 调用测试工具(wsCaller.jar)
注:本文来自hacpai.com:Tanken的<纯 Java 开发 WebService 调用测试工具(wsCaller.jar)>的文章 基于 Java 开发的 WebService ...