1樓:聽不清啊
這出題的老師,連一元二次方程、二元一次方程都混起來了。
#include
#include
void fun(double a,double b,double c)
if(d>0)
else
}int main()
2樓:polaris北斗
#include
#include
//計算並輸出一元二次方程的根
void fun(double a, double b, double c)
//計算判定式並求解
dt = b * b - 4 * a * c;
if(dt < 0.0)else if(dt == 0.0)elseprintf("\n");
}int main()
3樓:匿名使用者
#include
#include
void fun(double a,double b,double c)
}void main()
c語言中能否在一個自定義函式中呼叫另一個自定義函式?
4樓:七班趙子龍
當然copy
可以!c語言程式的最基本的模組就是函式,
該程式規定:任意函式都可以呼叫其它任意一個函式,包括函式本身;
1、函式呼叫自己本身, 這種稱為遞迴;
通過遞迴,計算1+2+3+...+n值的**:
2、自定義函式呼叫其它自定義函式的例子:
這個例子就是主函式呼叫自定義函式fun2,然後fun2呼叫另一個自定義函式fun1;
c語言被呼叫函式怎麼返回double型別的值給主函式呢?
5樓:愛默踢
double fun();
或者void fun(double &);
6樓:
double 方法名(引數)
c語言自定義函式,為什麼不能用double型別?
7樓:匿名使用者
用double時,請把**中的%f全改成%lf (long float的意思)再試試
c語言中double型別值的大小比較
8樓:匿名使用者
計算機在進行運算時首先根據資料的型別分配地址空間,分配完地址後首先將輸入的資料轉化為二進位制,然後進行運算。你輸入的數值a,從邏輯角度來看是正確,但從計算演算法來看是病態函式,即計算機進行二進位制轉換容易出錯的數值。從這一點可以看出,計算機沒有你聰明。
9樓:
在比較float和double型別的時候,因為float/double精度的問題
比如 1.000000001 可能和1.0000000000001相等
不應該直接使用 a > b 等類似的方式進行比較而是採用 兩個數做差取絕對值然後跟 你指定的精度進行比較便可得出 兩個double/float的大小
10樓:匿名使用者
不會有異常,輸出後面那個結果。比較時a,b會自動轉換格式的,轉換到double。
11樓:匿名使用者
沒有問題,你得這麼去想,if去做判斷實際上的操作也就是將a-b的值與0判斷。
第一個顯然不存在任何問題,同為雙精度型。
第二個與整型的比較,減法不丟失精度。
所以這兩個都不會存在問題。
12樓:匿名使用者
大小直接比較, 相等比較他們的差值在一定的誤差範圍內就認為是相等了。
比如:double d1,d2;
const double d = 0.0001;
if(d1 - d2 > -d && d1 - d2 < d);
認為d1與d2相等,否則不相等
13樓:子諾嫣然
你這樣比貌似不會有什麼異常
14樓:匿名使用者
可以這麼比較啊,不會有什麼異常,把上下**貼上來看看
c語言中double型別怎麼使用?
15樓:匿名使用者
c++中你想建立一個變數的時候,需要告訴編譯器變數的資料型別,以便編譯器給變數分配儲存空間。
格式:int i; 這是整型變數的宣告格式。
如果要宣告雙精度型變數,也就是小數,相同道理double i;
這樣編譯器就知道i是一個雙精度小數變數。
另外 float也表示小數,是單精度小數。float和double的區別在於,float所允許的小數範圍小,double允許的小數範圍大
16樓:l語言之父
double是c語言中的雙精度浮點數型別,用來表示實數。
1 定義:
double var_name;
這樣定義一個名字為var_name的double型別變數。
2 賦值:
var_name = 100.325;
同其它型別的賦值語句一樣,對var_name賦值用=運算子,右側可以是任意表示式。
3 輸入:
scanf("%lf", &var_name);
%lf格式符號對應double,可以用來對double型別輸入,以下輸出類似。
4 輸出:
printf("%lf", var_name);
17樓:匿名使用者
a中存的已經是double了,只不過是沒有輸出來而已你可以用
printf("%.9f\n",a);進行輸出
18樓:仲淳
%d表示輸入或輸出十進位制有符號數;%f表示輸入或輸出浮點數(float,四位元組表示);在c語言中輸出不同資料時需要用到不同的格式字元,%d是用來輸出十進位制整型資料的實際長度輸出,%f是以小數形式輸出單、雙精度度數。以下是詳細介紹:
c語言中%d和%f是什麼意思啊?
1、%d表示輸入或輸出十進位制有符號數;
2、%f表示輸入或輸出浮點數(float,四位元組表示);
3、另%lf表述輸入或輸出雙精度浮點數(double 8位元組表示);
4、在輸出不同資料時要用不同的的格式字元,比如說這個%d是用來輸出十進位制整型資料的實際長度輸出;%f是以小數形式輸出單、雙精度度數,隱含輸出6位小數;還有很多,如%s(輸出字串)
19樓:
你可以用printf("%.nf\n",a);控制小數位數,n隨你取值,只要在double精度範圍內即可
20樓:
表示把6.258e+6 賦值給y。用十進位制表示是:
6258000。 e是科學記數運算,數字很大的數,一般我們用科學記數法表示,例如6230000000000;我們可以用6.23×10^12表示,而它含義是什麼呢?
從直面上看是將數字6.23中6後面的小數點向右移去12位。
若將6.23×10^12寫成6.23e12,即代表將數字6.23中6後面的小數點向右移去12位,在記數中如「:
1. 3×10^4+4×10^4=7×10^4可以寫成3e4+4e4=7e4
即 aec+bec=a+bec (1)
2. 4×10^4-7×10^4=-3×10^4可以寫成4e4-7e4=-3e4
即 aec-bec=a-bec (2)
3. 3000000×600000=1800000000000
3e6*6e5=1.8e12
即 aem×ben=abe(m+n) (3)
21樓:匿名使用者
可進行格式化輸出啊,樓上回答過了!
c語言中關於double型資料的輸入
22樓:天使大哥***
這是一個初學者經常犯的一個錯誤,應該用%lf,因為double和float在記憶體分配上存在差異,所以用scanf函式進行輸入的時候要加以區別。
23樓:
把「f」定義成「float」型的就好了
24樓:匿名使用者
#include
void main()
這樣就可以了
25樓:匿名使用者
#include
void main()
26樓:匿名使用者
我也有這個問題,留名關注一下-_-b
用c語言程式設計編寫函式,用選擇法對主函式中的字元陣列進
include void sort char s int main include void xuanze char a,int n 選擇排序if k i int main xuanze a,n for i 0 i 10 i 用選擇排序,每次把ascii碼最大的字元放到字元數回組答的前面 inclu...
C語言寫一函式,求出字串的長度,在主函式中輸入字串,並
main你自己寫吧,函式 如下 slen char s 新增註釋 include define size 200 int length char src return count int main void include main int stringlength char s int compu...
C語言,求任意整數的位數,需要呼叫函式的方法,下面是我編
include long f long int x return i void main main printf d位數 n n long f long int x 函式定義這兒是不對的 長整形的輸入輸出格式有誤!將主函式中scanf語句改為 scanf ld x 最後一個輸出語句改為 printf...