当前位置:首页 » 编程语言 » c语言小数只显示整数是什么问题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言小数只显示整数是什么问题

发布时间: 2022-07-22 20:00:25

c语言,输入float类型数进行cos函数计算,但只有整数部分参与计算,怎么解决

scanf("%1f",&x);

1还是l,楼主是不是写错了。

%1f这种写法,告诉scanf,我要接收进来一个float类型,他的整数部分有效位是1个,小数部分有效位是0个。

所以你输入的虽然是3.14,然后x最终只会赋值为3.00

如果你输入的是13.14,最后x只会等于1.00

Ⅱ 编程c语言输入小数输出整数求解~

#include <stdio.h>
void main()
{
float j;
int i;
printf ("输入一个小数:");
scanf ("%f",&j);
i=(int)j;
printf ("j:%d",i);
}可能是你电脑的问题。反正我是能运行的。而且结果是正确的

Ⅲ 一个C语言程序,规定只能输入整数,结果输入一个字符和小数为什么也可以有相应的输出啊 这个程序我输

第一个问题
我输任何字符都会输出Sunday

输入不匹配的数据类型,所以没有对n进行初始化。一个int类型的变量,如果没对他进行初始化,都是一个很小的负数。所以你输入什么字符都只会输出Sunday

第二个问题
输入范围内的小数就会有相应的英文输出

因为把一个小数赋给一个整数,你前面已经这样写了:
scanf(%d,&n);

注意到没?%d这个是主要原因

%d代表是整数,因为小数能转换成整数。所以你输入2.5,也会被转换为2。
这样你输入范围内的小数就会有相应的英文输出

Ⅳ c语言入门级问题,小数和整数引起的问题。

0.9*x由于0.9是小数,所以这个算式的结果是浮点数,而9*x/10中没有出现小数,所以运算结果是整数,因此第一个程序错

Ⅳ C语言如何输出小数 我输出的都是整数 很郁闷

x=(j-100)/2;
改为x=(j-100)/2.0;就可以了

Ⅵ c语言中一个数是带小数的,怎么才能只输出他的整数

main()
{ float a=3.7;
int b=a;
printf("%d\n",b);
getch();
}
呵呵 一个小例子

Ⅶ 为什么C语言输出小数形式是6.000000但是输出整数形式变成0

看下问题出在哪?float在直接作为参数传递时并没有做转换,是double64位,而int只输出32位,c语言没有隐式转换。如果使用将其结果赋值给另外一个int变量就会做转换。

Ⅷ C语言 %f的小数,如果是整数则显示整数 }

这个用%g就可以了

%g就是做这个用的 最简输出

#include<stdio.h>

voidmain()
{
floata=123.456;
floatb=1;
floatc=1.01;
floatd=1.001;
printf("%g %g %g %g ",a,b,c,d);
//期望显示:
//123.45611.011.001
//即:如果有小数则正常显示相应位数的小数,如果是整数则显示整数
}

Ⅸ c语言编程问题,要求去一位小数,可是我去不出来,只能到整数位

那把printf("%f",z);改为printf("%.1f",z);
这种格式的输出本来就是四舍五入的

Ⅹ C语言中的错误,帮我找一下。为什么我输入小数的时候,输出的不是“请输入整数”,而是“请输入正整数”

你的a、b、c定义的都是整数, x、y、z都是双精度的。x=a-(int)a,这句话就有错误,(int)a是强制转化成整数,而a本就是整数,一个整数减去一个整数 结果还是整数,和x定义的不同。

double a,b,c;
double x,y,z;
scanf("%f,%f,%f",&a,&b,&c);
x=(int)a-a;
y=(int)b-b;
z=(int)c-c;
改成这个就ok了