1樓:網友
沒人?第乙個問題:
1、f[i]=f[i-1]+f[i-2];的結果是:1 1 2 3 5 8 13 21 34 55.。。
2、sum+=f[i]/f[i-1];等同於sum=sum+f[i]/f[i-1];
第二個問題:
1、當然不行,「=是孫帆比較運算子,「=是賦值運算子,「=中間沒有空格。
2、fac是自定義函式名,程式設計者自己給的,晌汪你寫成fa也沒有問題則謹雹!
2樓:
f[i]=f[i-1]+f[i-2];
是算斐波那契數列,每一項等於前兩項之和於是就得出1,1,2,3,5,8...
sum+=f[i]/f[i-1];
是算分數的值,並累加。
i=2時 sum+=f[2] /f[1] =2/1i=3時 sum+=f[3] /槐譽 f[2] =3/2i=4時 sum+=f[4] /f[4] =5/3if(n= =1)return(1);
應鉛告段該是錯的 寫為 if(n==0 ||n==1)return(1);
fac fa 都是定義的名字友答而已,fac 是階乘的英文factorial 縮寫。
3樓:匿名使用者
請問:1.對這裡的公式不懂。是怎麼變成和分數的22項和了啊?
首先你定則禪義的時候少了乙個f了,float f[22]=,sum=0;
其次從圖中可以看出求和的第一項是f2/f1,所以迴圈的i起始值是做簡2, f[i]=f[i-1]+f[i-2];意思就是。
fn=fn-1+fn-2
再次sum+=f[i]/f[i-1];相當於sum=sum+f[i]/f[i-1];就是求累加和,從圖中的孫胡塵求和項可知,每一項的分母都是前乙個求和項的分子分母之和,這就是規律了。
呵呵,問幾個c語言的問題。講的好懂、詳細獎20分。
4樓:網友
一、首先**錯很多,幫你改了,看註釋。
int a;
int power(int n) /函式型別是int,後面的分號去掉。
void main( )
1. the number a and its power m不是函式名,是列印的內容,看語句printf("enter the number a and its power m:");
2. 第九行就是a^m嗎?改成我那樣用 *=就是了,否則原來列印的是 y
你hi上的問題。
第一題:y 不代表檔案,代表的是求出來的結果,例如2^3=8,y就是8
i 是乙個迴圈變數,表示從1迴圈到n,也就是n次,那麼y得到的就是a的n次相乘的結果,因此得到a^n
第二題:**不少錯誤,改成我這樣才對。
void sort(int array[ ]int n)
void main( )
如果第乙個比後面的大,交換,因此第乙個是最小的。
然後從第二個比較,交換後得到第二個是次最小的,以此類推。
最後給樓主乙個意見,估計你看書都是光看,沒敲**,沒除錯,因此很多錯漏的地方都不知道,也不知道怎麼改。學習程式設計重在實踐,自己找錯,這樣才能進步得快。
5樓:網友
1、拜託,這是輸出語句輸出的內容,怎麼成函式名了。printf是輸出語句,後面(""中的就是要在螢幕上顯示的內容,不是什麼函式名。
2、應該是這裡d就是a^m的結果。
3、實踐方能出真知。光看書當然沒太多收穫,你可以試著把譚的書的習題都做一遍。
6樓:
第一:printf("enter the number a and its power m:");裡面的內容是要輸出到終端(即顯示屏)的內容,也不是什麼變數或函式,第二:
第九行若a ,和m的值都給定,就會輸出a*m = d ;而且你前面輸入函式scanf裡面也有錯誤,那個a應該是a,你不給a賦值怎麼使用?
第三:自學c語言的話建議不要看譚浩強的書,他的書雖然理論好懂,但裡面的程式和程式設計規範真的不行,建議上網多看**教程,上機實踐。。。
7樓:閆金龍
我想問你第二題排序的時候變數k 是幹什麼用的 啊 多餘的乙個變數完全可以去掉啊。
void sort(int array,int n)
8樓:網友
樓上都解答了,我就不多說了,我也是剛學不久,比較適合討論些基礎問題。
呵呵,問乙個c語言裡函式的巢狀呼叫的問題。講得詳細好懂答對了獎二十分。
9樓:網友
f() 函式返回的就是方程左邊的值,在主函式里面,如果 f(x1) 和 f(x2) 異號就停止輸入x1和x2
然後執行root函式,root() 函式里面呼叫的是類似二分法那樣吧,不過它不是用(x1+x2)/2來作為下乙個試驗的值,而是用(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1))這個公式,忘記叫什麼公式了,也可以用這個方法,xpoint() 函式就實現了這個功能。在root 函式里面,y儲存的是誤差,while(fabs(y)>=;
這句就是表示如果誤差小於就跳出迴圈,得到結果x。
因此 x 就是最終的方程的解。
最後說一句,這個是個一元三次方程,有三個解,但這個只能求出乙個解。
10樓:網友
你首先要了解什麼是弦截法,說白了就是乙個逐漸逼近求近似解的過程,當滿足一定精度後,就得出近似解,學c語言,要多讀好程式,多寫程式。十萬行**後,你就是高手了!
11樓:
你這就是在main裡呼叫root啊 只要引數傳遞正確就可以了啊。
看看傳值還是傳位址的區別。
呵呵,問乙個c語言裡有關函式呼叫的一般形式的問題。答對了獎十分。
12樓:匿名使用者
其實,你搞懂printf("%d, %d", i, i++)後,上面的都應該很好理解了。
函式的棧跟函式引數的關係,當引數壓入棧時一般是從最右邊的引數開始的,所以。
如果i = 2的話,列印的應該是"3, 2"
但是,有些編譯器(比如gcc)會對此做優化,優化後的結果可能是"3, 3"
如果再用volatile關鍵字修飾i後,就會按照理論值"3, 2"輸出。
呵呵,問二個c語言的問題。
13樓:網友
第乙個問題,pow 是乘方的函式名。 pow (x, 2) 表示 x 的平方, pow(x, 表示 x 的 1/3 次方,相當於開立方根。
第二個問題,sizeof(str) 求的是字串 str 的長度,字串 str 擁有 4 個字母,加上乙個結束標誌 '\0',乙個 5 個字元,每個字元都是 char 型別,各佔用乙個位元組,所以輸出的是 5。
14樓:網友
第一題 extern float pow(float x, float y); 計算x的y次冪。 說明:x應大於零,返回冪指數的結果。
第二題, char的位元組數是一。
但char 是字元陣列 乙個字元是一 「book「 4個 字元 位元組就是 4 字串結尾會自動補乙個表示字串結尾的字元'\0' 所以乙個5個位元組。
15樓:果子的優秀麻麻
1.不是。
是用char型別定義的陣列,b、o、o、k各佔乙個位元組,也就是四個了,其實還有乙個「"代表結束也算乙個位元組,這是預設加上去的,所以最後是五個。
c語言的幾個書上的題目,請講的簡單、詳細一點。呵呵,講對後再獎二十分。
16樓:
一: 知識點是隱式型別轉換。
這句意思是:不同的n對應不同的結果,也就是不存在類似n超出某個區域時對應的結果是乙個的情況。
四。1 第九行的void不要行嗎 ,這個在老式編譯器上是可以的,比如,現在的編譯器必須指定返回值型別。
2第二行的int fx(int n)是在定義函式,同時充當函式宣告。
呵呵,問個c語言的表示式的問題。
17樓:鄧某某
圖1主要是考查資料型別的轉化及優先順序,'%'和'/'及'*'的優先順序一樣,(int)、(float)為強制轉換符,優先順序高。
1).先算(int)(x+y)=7;再有7%2=1;1/4=0;所以整個表示式等於x即。
2).(float)(a+b)= ; int)x=3 ; int)y=2 ; 3%2=1 ; 所以表示式等於。
圖2主要考查優先順序。
5).按定義為a=a%(n=n%2) ;**優先順序高n=5%2=1;a%1=0;
6).*=、+=、-=等等具有右結合性,即從右向左算,表示式等價於:
a=a*a;(a=144)
a=a-a;(a=0)
a=a+a;(a=0)
最終等於0#include
void main()
18樓:
回去好好看看運算子的優先順序就明白怎麼回事了 ,絕對是沒有認真看書。
19樓:
優先順序:
算術運算子-->關係運算子-->賦值運算子,由高到低。
算術優先順序:+ 正負號)--/%--加減),由高到低。
邏輯運算子:!-由高到低。
20樓:_久違
直接代入去做就行啊?用的著問嗎!
【20分求助】幾個c語言問題求助!
21樓:網友
dok[5]: 內為變數的值。
default->n[0],k[4]
case 2->n[2],k[3],break;
print n[2]
n[2]>0 &&n[2]<5
k[3]:case 3->n[3],k[2],break;
print n[3]
n[3]>0 &&n[3]<5
k[2]:case 2->n[5],k[1],break;
print n[5]
n[5]>0 &&n[5]<5
end of while
最終列印:235
0xffff以十進位輸出就是65535
好像都對了耶。
上面說x++只是運算,不會返回布林值。嚴重錯誤了,c裡面,只要是乙個表示式就一定有乙個值,根本非0為真,0為假就可以進行判斷。
ascanf後跟變數位址,&p為指標位址,說實在的沒見過這麼用的,用%p還可以理解。
j=!ch&&i++
ch==false,所以i++沒有執行,為原值。
a0x表示是16進位。
0開頭表示8進位,這裡出了個028,8是不可能出現在8進位資料裡面的。
22樓:謝應宸
1:判斷k的大小,k=5,所以n=0,k自減,k=4;然後再判斷,k=4,n=n+2=2,k--=3,跳出迴圈。所以結果應該是第一行為0,第二行為2,共兩行。
2:%u為輸出10進位無符號整數,所以應該輸出655353:選a,a的條件語句只是乙個運算,並不會返回乙個布林值。
5:這條題目考的是優先順序。算術運算優先,所以i為2.
6: 沒看明白呵呵。
問關於C語言程式設計的思路,很小的兩個問題
這類題一般都可以讓計算機遍歷所有情況,找出符合條件的情況比如第一題 你可以先 把輸入x 計算5x 1 判斷5x 1是否大於500 如果大於500,則輸出結果 如果小於500,則x 5x 1 迴圈到第二步這個功能的 寫出來,把輸出的結果儲存到y下一步就用for迴圈把x從1迴圈到120 因為很明顯x大於...
問兩c語言題的問題,問兩三個c語言題的問題
樓上對右結合的概念理解錯誤了,所謂右結合就有對應的左結合。例如,a b c,是個運算子,對於第一個 它的兩個運算元是a和 b c 那麼它是先和哪個結合呢,c語言標準定義了它是右結合的,所以它先與右邊的b c結合,而b c本身也是個表示式,所以要先計算b c,然後b c的結果再參與原來的計算。問幾道c...
c語言程式設計時碰到一下兩個問題,有兩個c語言程式設計問題問一下
由於要捨棄小數部分並且double表示的資料比int大得多,編譯器會有這樣的警告,讓你確認不會有溢位問題。可以考慮不用pow計算整數2的k次方 m 1 for i 0 i pow函式返回的是double型別 而你的m是int型 所以提示會有精度損失 有兩個c語言程式設計問題問一下 題目翻譯1.編寫一...