Ⅰ 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了