#11
|
|||
|
|||
如果出题的人要求打印1-10的立方的话,有很多种写法可以达到目的。当然,不可少的是计算赋值、然后打印了。
#include <stdio.h> int main(void) { int sqrs[11]; int x; for(x=1;x<11;x++) {sqrs[x]=x*x*x; printf("%d\n",sqrs[x]);} return 0; }
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。 |
#12
|
||||
|
||||
引用:
但請教一下,陣列不是都要從sqrs[0]開始嗎?雖然你這程式打印出來是正確的,我也都能理解,只是為何不是從[0](如前面那個程式是以sqrs[x-1]來達到以0開始的作用)開始? |
#13
|
|||
|
|||
区别就在于:
原先的程序,定义了int sqrs[10];,只是从sqrs[0]到sqrs[9]这10个单元,没有sqrs[10],所以在计算10个立方值时,无法把10的立方放进sqrs[10],只好采取错位的方式,把x的立方放在sqrs[x-1]的位置。 而我后来定义的是int sqrs[11];从sqrs[0]定义到了sqrs[10],在计算10个立方值时,可以把10的立方放进sqrs[10],直接把x的立方放进sqrs[x],这样更好理解、符合人的习惯。当然这样,sqrs[0]就闲置无用了,浪费了4个字节的内存。但在今天,已经没有必要在意4个字节内存了。怎么容易理解就怎么写呗。
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。 |
#15
|
|||
|
|||
其實我一直覺得學程式有些習慣需要內化,就像是array由0開始,這跟我們一般的習慣
就不大一樣,或者說 x = x +1 如果以數學來說,應該沒有一個值,會符合上面的運算式的^^!! 所以上面的"equal" 應該是解釋為 "assign" 這寫程式寫久了就會內化成習慣,但是剛開始學程式的人,可能都會有類似的疑問 另外站長的疑問,比較像是把題目跟答案倒著看了,先想著題目,自然就會有這樣的答案出來 |
#16
|
||||
|
||||
所言極是。
|
#17
|
|||
|
|||
哈大在學寫程式?
__________________
123 |
#19
|
|||
|
|||
__________________
123 |
#20
|
||||
|
||||
繼續請教高手:
以下的式子是要把陣列a1的數值複製給陣列a2。 課本上的標準寫法如下: 引用:
引用:
引用:
其次,陣列元素超過原來宣告的數目,未必一定會造成錯誤,就是說有可能有影響也有可能沒影響,所謂的導致無法預期的後果?是這樣嗎? 我有試著把a2[i]=a1[i-1]改成 a2[i-1]=a1[i-1] 或者 a2[i]=a1[i] 結果答案出來全都亂七八糟。 請問正確的改寫法該是什麼呢? 唔該先。 |