1樓:岔路程式緣
問題一,x和y都是雙精度型(double)數變數,用格式輸入和輸出時,要使用格式符%lf,否則會出錯,得不到正確的結果。
你用的%d是整型。
int)數的輸出輸入格式符。
所以你必須把他們統一起來,方法一是:把scanf和printf兩個語句中的%d都換成%lf;方法二是:把前面定義語句double x,y;中的double換成int,語句變成:
int x,y;
採用上面兩個方法都可以讓程式正常執行。
問題二,scanf語句中雙引號當中有「x=」,全部是:
scanf("x=%d",&x);
或scanf("x=%lf",&x);
這樣的寫法,要求在程式執行時,輸入的內容要包含雙引號內除格式符以外的所有字元,即你一定要輸入:
x=2[回車]
系統才能讀到x的值2。值得注意的是,x的大小寫都必須跟程式中的大小寫相同!
所以,你在程式執行時,直接輸入:
2[回車]系統並不會取得2,更不會把2賦值給x,所以,導致程式執行到後面,也不會得出正確的y的值(11)。
有鑑於此,也有兩個辦法讓程式正確執行:
方法一,輸入時按「x=2[回車]」;
方法二,由於按「x=」非常不方便,容易出錯,建議把輸入語句的x=去掉,改成:
scanf("%d",&x);
或scanf("%lf",&x);
就能按照你**發來的輸入方法操作,得到正確的結果了。
2樓:聽不清啊
程式中有兩個問題,第一是雙精度浮點數的格式輸入和輸出函式的格式符是%lf,輸入函式和輸出函式中都要更改。第二次格式輸入中,一般強烈不建議寫x=之類的資訊,因為寫了的話,執行時也不會出現這個提示,反而要求執行程式的人,也必須要輸入完全一樣的格式才可以。所以如果是圖中的程式執行時,就必須要輸入x=2才行。
3樓:這密碼是我生日
把scanf括號裡面的x=去掉。
scanf裡面不要寫別的東西。不要寫多餘的字元,只寫要賦值的東西。
printf輸出才可以寫字串等輸出的字元。
因為是double雙精度,把%f都改為%lf試試。
我試了一下,應該是可以了。以下是我除錯的結果。
int main()
double x=0,y=0;
scanf("%lf",&x);
printf("x=%lf",x);
if(x>2)
y=2*x+5;
elsey=3*x*x-1;
printf("y=%lf",y);
system("pause");
return 0;除錯結果:
x=y=請按任意鍵繼續。 .
c語言計算分段函式的值,做作業錯拉,找不到問題,誰幫我糾正下!
4樓:網友
#include
void main()
你的錯誤好多哦,真是考眼力。
5樓:水晶文鑫
"0≤x<1"不能這樣寫 應該這樣寫x>=0&&x<1類似的改一下試一試。
6樓:網友
昏,這叫找不出錯個,上面幾個大哥都給你說了,你的錯誤真多,關係運算,條件判斷……自己好好看看吧…這些應該是很基礎的…
c語言, 乙個分段函式的計算 ,高手看看有什麼問題, 從大於0的數開始都不對了
7樓:汐日南莘
#include
#include
void main()
float x,y;
printf("請輸入x: ");
scanf("%f",&x);
printf("輸入x=: %f",x);
if(x<0)
y=5-x;
else if(x==0)//是等於號 就這乙個問題y=0;
else if(x>0&&x<10)
y=sqrt(2*x)-1;
elsey=3*x-11;
printf("y=%f",y);
8樓:龍__鳳
x和0相等,是這樣比較的x==0,你的是x=0是賦值,把這個改了就可以了。
9樓:網友
把第乙個else刪除最後乙個else改if (x大於10)
原因你的條件語句邏輯錯誤。
c語言求分段函式的值
10樓:網友
x改成float型別,第一句printf結尾的分號是中文的,沒必要esle if,要清。
空緩衝區,否則程式會一閃而過。
#include
#include
void main()
11樓:張仁華
兩個語句不需要用到else if
12樓:尉廣英九書
x<=-1好像會出錯,定義不允許根式裡面為負、分母為零;
x<0時,z就等於根號(1+x)的倒數;
x=0;z=0;
x>0時,log(x)有意義,z=log(x);
用c語言求分段函式值
13樓:馬新筠營兒
抱歉,剛才有兩個分號是用中文輸入法輸入的。
導致c無法識別。
語句結束要加分號。1=
#include
voidmain()
printf("%lf",y);}
14樓:墨翮柏瀚昂
樓上2位的邏輯表示式有問題。
#include
intmain(void)
c語言題求分段函式的結果,要求用函式來做,這是我的程式為什麼算不出正確結果,答案一直是乙個定值
15樓:匿名使用者
你這是c++啊 輸入輸出應該用cin cout吧。
用c語言程式設計計算分段函式y值
16樓:一口沒水的枯井
**如下:
int fun(int x)
希望對你有幫助~
c語言程式設計計算246898100的值
include main printf s d n s ps 按照前面的規律,最後應該是 98 100吧,用什麼語言?給你個能顯示計算過程的批處理吧,上面都是用for迴圈,還可以用if加goto語句。沒驗算,複製下面 用記事本儲存為abc.bat,雙擊執行。echo off set aa 0 set...
C語言中什麼叫呼叫函式?為什麼函式和函式之間是呼叫關係
呼叫函式就是計算機編譯或執行時,使用某個函式來完成相關命令。對無參函式呼叫時則無實際參數列。實際參數列中的引數可以是常數 變數或其它構造型別資料及表示式。各實參之間用逗號分隔。在程式中通過對函式的呼叫來執行函式體,其過程與其它語言的子程式呼叫相似。c語言中,函式呼叫的一般形式為 函式名 實際參數列 ...
c語言程式設計計算並輸出以下算式的值
include void main include void main printf d sum int i,sum 0,t 1 for i 1 i 5 i 用c語言程式設計計算 1 2 3 4 5 int sum 1 這是1的階乘,沒必要參與迴圈運算int product for int i 5 ...