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), 达到目的. 如果想要先转 ...
随机推荐
- C# 一般处理程序下载文件
using System; using System.Collections; using System.Data; using System.Linq; using System.Web; usin ...
- Java EE之Struts2路径访问小结
一.项目WEB视图结构 注释:struts.xml:最普通配置,任何无特殊配置 二.访问页面 1.访问root.jsp //方式1: http://localhost/demo/root.jsp // ...
- python中enumerate()的用法
enumerate()函数用于遍历一个可遍历的数据对象(如列表.元组或字符串等)的索引和其对应的元素,一般用于for循环中. enumerate(sequence, [start=0]) sequen ...
- ServiceMesh了解一下
http://www.servicemesh.cn/?/article/70 https://zhuanlan.zhihu.com/p/33196550
- B - Internship (网络流关键割边)
题目链接:https://cn.vjudge.net/contest/281961#problem/B 题目大意:给你n个城市,中间有一些中转站,然后给你终点,再给你l条轨道以及流量,问你增加哪几条轨 ...
- Debian Linux Error “Driver 'pcspkr' is already registered, aborting...”
问题: Error: Driver ‘pcspkr’ is already registered, aborting… 解决: [root@reistlin.com ~]# echo "bl ...
- ubuntu 系统关键指令
1. 查看系统版本号 cat /etc/issue uname -a cat /proc/version 2. linux 32/64 bit? getconf LONG_BIT 3. dpkg 的命 ...
- MR室内室外用户区分
mro_view_details_year中v3字段 1:室外用户 0:室内用户 主小区是室内站 主小区信号>-90dBm ==> 室内 主小区信号>-100dBm &&am ...
- oracle巡检脚本备份
重做日志生成情况,一天生成日志大小:select round(sum(blocks*block_size)/1024/1024/1024,2) BLOCK from v\$archived_log w ...
- odoo - context
得到整个context self.context_get() self.env['res.users'].context_get() 得到context里面对应的值 eg:得到flag的值 self. ...