C语言输入小数输出小数

作者&投稿:鄘关 (若有异议请与网页底部的电邮联系)
c语言怎么让输出值是小数?~

利用C语言使输出值为小数的编程方法和思想如下:
1.首先需要定义一个变量作为后续需要输出的数。这里以定义一个变量a为例。需要注意的是,整型int是不支持转化的。

2.然后使用scanf()函数接受从键盘输入的一个数,这样就为变量a成功赋值。

3.接着使用printf语句来对数a进行小数化的处理。处理格式为:【%.(需要保留的小数位数)数的格式符】,这里演示以保留3位小数为例:也就是%.3f。

4.最后点击运行程序,在程序的调试窗口就可以看到数已经成功转化为带小数的输出。

把scanf("%15.10f",&x);应该改成scanf("%15lf",&x);这样就好了。
代码中x是double型的,在输入数据的时候是不允许使用%f的,double型的数据输入必须使用%lf
还有,scanf("%15.10f",&x);15.10这个是不允许出现的,在数据输入的时候只能指定输入数据的总长度,不能指定小数点后的长度。

扩展资料:
scanf(函数原型
int scanf(const char * restrict format,...);
函数 scanf() 是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
参考资料来源:百度百科-scanf (计算机语言函数)

先定义 money 的时候,定义为 float 类型
即把 int money; 改成 float money;
输出时,改为浮点数输出
即把 printf("运费为%d\n", money); 改成 printf("运费为%f\n", money);

int money改成float money
%d改成%f




C语言 %d 、 %f 分别是什么意思?
d表示输出输入格式为整型,用于int,shortint;%f表示输出实数,以小数形式输出,默认情况下保留小数点6位。C语言中,输入输出的格式为:输入输出符号(格式化字符串,参量表),格式化字符串由格式控制、和输出表列两部分组成,其中格式控制包含格式声明和普通字符。格式声明由“%”和格式字符组成,如%d、%f等...

c语言中关于字符的输入输出问题。 我想知道输入scanf(%c,a[i...
printf 函数称为格式输出函数.一般形式为:printf(“格式控制字符串”,输出表列)scanf 函数在本质上也是给变量赋值,1》但要求写变量的地址,如a。scanf函数中没有精度控制,如:scanf("%5.2f",a);是非法的。不能企图用此语句输入小数为 2 位的实数。2》scanf 中要求给出变量地址,如给出变量名...

C语言小数输出问题?
printf("%g\\n",(int)(n*100+.5)\/100.0);。n是实数。

C语言输出两位小数如何保留三位小数呢?
1.打开编译软件,如下图 2.新建类,编写代码,如下图 3.点击运行代码,如下图,4.查看输出结果,只有两位小数,如下图 5.如果想要保留三位小数,只要把print("%.2f",num);中的2改成三就行,如下图

C语言输入小数,精确到小数点后10位
把scanf("%15.10f",&x);应该改成scanf("%15lf",&x);这样就好了。代码中x是double型的,在输入数据的时候是不允许使用%f的,double型的数据输入必须使用%lf 还有,scanf("%15.10f",&x);15.10这个是不允许出现的,在数据输入的时候只能指定输入数据的总长度,不能指定小数点后的长度。

c语言输出两位小数,要怎样修改代码呢?
打开dev c++,创建一个源代码窗口 2. 输入一段代码。这段代码的意思是,输入一个类型为浮点数的数值。输出一个浮点数 3. 运行,结果如下。此时结果不止两位小数。4. 于是需要对printf的代码进行修改,如下图 5. 然后在调试运行,即可只保留两位小数。

用C语言如何输入小数?
include<stdio.h> int main(){ float a=3.123000;printf("%g\\n",a);\/\/自动省略后面无意义的0 return 0;}

c语言输出小数怎么显示小数点后面的数字?
数字位数大于它时,按实际位数输出,小数点前空缺也是 小数点后面的数字表示输出的小数点位数,如果位数不足就会四舍五入,如果位数不够显示就会在后面补0.比如x=12.31913 则printf("%5.2f",x)就是“12.32”,注意小数点也算一位数长!又如x=2.31913 则printf("%5.2f",x)就是“ 2.32”,...

C语言控制小数点后的精度
一。%nf 即输出的数字占n位 当原数字位数大于n时原样输出,原数字位数小于n时输出数字左端补上空格,比如原数字为a=1.23456;n为4时输出为1.23456,n为9时输出为 (空格空格1.23456)二。%n.mf 即输出总共占n位其中有m位小数 如a=1.23456 用%4.2f输出为1.23如果用 5,1f输出为123.4即...

将从键盘输入的一对数由小到大排序输出,当输入一对相等数时,结束...
不限数字位数?不区分整数,浮点数?include<stdio.h>#include<malloc.h>#include<string.h>#define nsize 10 \/\/输入的10进制数字初始长度(包含结束符号),及内存增长幅度typedef struct num{ char *iNum;\/\/数字的整数部分 int iCnt;\/\/整数部分位数 char *fNum;\/\/数字的小数部分 int...

淅川县13633081135: C语言输入小数输出小数 -
莫苑创必: int money改成float money %d改成%f

淅川县13633081135: c语言 请输入一个小数,输出为它的个位与两位小数 -
莫苑创必: #includeintweishu(longn,inta[]){inti=0; while(n) {a[i++]=n%10;n/=10; } returni;}voidmain(void){ longn; intk,i,j,t,a[20]; scanf("%ld",&n); printf("原数:%ld\n",n); k=weishu(n,a); printf("位数:%d\n",k); for(i=0;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("从小到大:");for(i=0;i=0;i--) printf("%d",a[i]);printf("\n");getch();}

淅川县13633081135: c语言中如何输入一个浮点数x然后输出x但保留五位小数 -
莫苑创必: 1. 声明变量x为double型(浮点双精度)或float(浮点单精度). 2. 调用输入函数scanf("%lf",&x);或scanf("%f",&x);——其中%lf表示x是double型、%f表示float型. 3. 调用printf("%.5f\n",x);输出——其中.5表示小数点后保留5位小数.

淅川县13633081135: c语言如何取小数,比如说输入1.23输出23,输入1.001输出001;我这个不对,求大神 -
莫苑创必: # include<stdio.h># define N 12 int main() { char str[N];/*用字符串记录输入*/ int i=0; scanf("%s",str); while(str[i]!='.') i++; while(i<strlen(str)) printf("%c",str[++i]); return 0; }

淅川县13633081135: c语言问题,输出小数 -
莫苑创必: scanf("%d%d",m,n); 这种写法输入就不要输逗号,除非你在%d之间加了逗号; else后的语句超过了一句,请加上大括号. else { o=n; n=m; m=o; printf("%d\n",m); }还有就是,输出小数?你的printf输出的格式是%d,怎么可能输出小数?

淅川县13633081135: c语言 任意输入两个小数,请求这两个小数的和并输出. -
莫苑创必: #include<stdio.h> int main(){ float a,b; scanf("%f,%f", &a, &b); printf("%0.2f", a+b); return 0; }

淅川县13633081135: 如何用C语言将内存中的小数转换成十进制小数输出,谢谢啦,本人菜鸟, -
莫苑创必: "请输入一个10进制的小数:"); scanf("%lf",&f); if(f

淅川县13633081135: C语言遇到小数怎么处理. -
莫苑创必: 用float或double定义变量的类型,输出时要输出对应的%f%lf.%f一般默认输出点后6位小数,如果想输出例如点后两位数,则用%.2f或%.2lf.

淅川县13633081135: c语言从键盘接收任意十个小数,按从小到大的顺序依次进行排列,并输出排序后的十个小数. -
莫苑创必: #include <stdio.h> int main(void) { int i, j; float arr[10], tmp; printf("十个小数:"); for (i = 0; i < 10; i++) { scanf("%f", &arr[i]); } //输入·十个数 for (j = 1; j <= 9; j++) // 冒泡法排序 { for (i = 1; i <= 10 - j; i++) { if (arr[i - 1] > arr[i]) { tmp = arr[i - 1]; ...

淅川县13633081135: C语言四舍五入保留两位小数 -
莫苑创必: 应该是精度问题.因你使用的是float变量,你可以用printf显示a*100的结果是155.499995而不是155.50000你可以全改成double型#include <stdio.h> double fun ( double h ) { return (long)( h * 100 +0.5 )/ 100.0; }main( ) { double a;printf ("Enter a: ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网