當前位置:首頁 » 編程語言 » 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了