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