c語言新手提問,C語言,新手提問!

時間 2022-08-10 21:55:08

1樓:匿名使用者

樓主的這段**屬於簡單的冒泡法排序問題,樓主可以找相關資料檢視,下面是我給樓主的一些簡單的解釋:

1.這裡的for語句是什麼意思呢?

答:此處的for語句主要用來像陣列a[i]中輸入元素的,作迴圈使用的。

2.3.對於樓主的i與j為什麼小於2,而不是3?

答:樓主可以想一下,如果是三個數的話,你需要比較幾次就可以比較出那個是最大的,很明顯,是2次(因為i是從0開始的,2次的話就是第0次,第1次,總共2次),這就是冒泡中的趟數,即如果是n個數的話,需要比較n-1趟了;

對於j,更簡單了,樓主可以想一下,如果有n個數,比較n-1次就可以找出最大的,那麼如果找第2大的數的話(就是第2趟),就是n-2次,第三的話,就是n-3次,以此類推,第i趟的話就是n-i次了,而你的每個迴圈都是從0開始的,所以是j<2。

4、此處的for和上面的for的作用相同,也是用來迴圈輸出的。

5.樓主可能對於&這個符號沒有理解,當時輸出的時候是不需要&符號的,只有是輸入的時候才需要,樓主切記,這是最簡單的了。

6. 陣列a[i],有a[0]=a,那麼a+2,可以理解為將指向陣列元素a[0]的指標像下移動兩個單位,那麼就是a[2],所以,a+2就是陣列中的元素a[2];

樓主的問題都很簡單,建議樓主看看課本,將的都很清楚,還有不懂的可以問我,

當然了希望樓主採納!

2樓:路圖元

陣列名沒有這樣用的!只有當乙個指標指向這個陣列首位址時,才那樣用。比如指標p = a;則p+2就代表a[2]~

3樓:糾結的氣功

第乙個用for語句迴圈3次scanf 掃瞄資料,每次掃瞄乙個。

至於為什麼是2,你自己看啊 後面寫了 a[j]與a[j+1]的比較了 如果j能到3

豈不是和a[3]與a[4]比較了!

最後這個for語句同第乙個,不加位址符是因為prinf這個函式的引數取的值不是位址

a+2代表a這個陣列的首位址+2的位址

4樓:匿名使用者

不知道,誰寫的這段程式,比較三個數的大小,首先確定輸入的是否是數字,通用ascii碼確認,然後將i,j,t分別給陣列的a1,a2,a3,我們要求a1最大,將a1與a2比,如大不操作,如小兩數交換,再將a1與a3比,如大不操作,如小兩數交換,再將a2與a3比,如大不操作,如小兩數交換,然後輸出,應該是兩個環境,乙個內乙個外。才學的先畫流程圖吧,把流程圖跑完了再寫程式

5樓:匿名使用者

lz的**有點錯誤,如果把a[j]--->a[i],那麼:

1.for語句是乙個迴圈,那兒的意思是i從0每次增加1直到2,然後輸入三個數分別賦給a0、a1、a2

2.那個巢狀迴圈其實就是a0和a1比較,a0和a2比較,a0和a3比較,然後又是a1和a2比較,a1和a3比較,所以i和j最多取到2

3.這個for和第乙個for差不多,只是第乙個是輸入,這個是輸出,輸出的時候不需要位址符&

c語言,新手提問!

c語言初學提問,

6樓:聽不清啊

源程式中有兩行錯了。排序時下標越界了。

#include"stdio.h"

main()

{ int i,j,a[9],b[9],c,d,n;

for(i=0; i<10; i++)

{ a[i]=i+1;

scanf("%d",&b[i]);

for(i=0; i<8; i++) //有改動for(j=1+i; j<9; j++) //有改動if(b[i]>b[j])

{ c=b[i];

b[i]=b[j];

b[j]=c;

d=a[i];

a[i]=a[j];

a[j]=d;

for(i=0; i<10; i++)

printf("%d ",b[i]);

printf("\n");

for(i=0; i<10; i++)

printf("%d ",a[i]);

7樓:夏天的小紅花

c語言中,每一種資料型別所佔的位元組數是由該軟體確定的。比如早期的原版本通常是採用16位。後來的c語言編譯器則採用32位。

目前多數的c語言編譯器採用的都是32位,就是說,每乙個int儲存的單元是四個位元組。具體來說就是16位的int可儲存的資料範圍是-32768~+32767,而32位的int可儲存的資料範圍為-2147483648~+2147483648

8樓:匿名使用者

c語言沒有規定比如 int的具體大小,

sizeof (int)返回的大小,

是由 編譯器 決定的。

c語言初學者的提問

9樓:手戈丁頁

1, 程式設計序一定要規範,最好合理安排空格和縮排,讓程式看起來更容易,小程式還可以,有幾頁紙你就知道天書是怎麼來的了。

2,主函式最好也有返回值型別,用int main() 然後返回 0 最好,void也可以,最好不要省略,這是習慣問題。

3,定義變數最好單個定義,自成語句,用c++編譯器時需要在定義,不要一開始全定義了。

4,做for(;;)中迴圈變數最好用size_t型別,c 中就用int ,用double會出錯。

5,定義陣列一般要初始化,未賦值的變數最好不要用。

6,修改後為:

#include "stdio.h"

int main()

7,最後不知道你想輸出什麼,輸出陣列變數名為 printf("a[%d][%d][%d]",d,b,c);

輸出陣列變數值為 printf("%f ",a[d][b][c]);

8,用c++編譯器時for語句可換為 for(int d=0; d<100; ++d) 前面定義的int d;省略,別的類似。

9,我學的c++ ,c 的知識也懂點,寫這些希望對你學習程式設計有用。

10樓:匿名使用者

double a[100][100][10],是個多麼大的東西。。。

恐怖!4 * 100 * 100 *10;

超出了棧的大小。。編譯器一般劃分棧都是1m左右的。你的太大了。

方在main()外邊會好點。因為記憶體比棧大很多

11樓:匿名使用者

說明你用的編譯器,預設的棧空間太小了,不足以存放8*100*100*10大約是800kb的資料.

使用動態陣列,或者如tyoukill所說把它放在函式外成為全域性變數,不放在棧空間中

12樓:匿名使用者

這個printf的表示奇怪

13樓:匿名使用者

恐怕不是太小,而是太大!

100*100*10*8=800000

800000位元組=781.25mb

14樓:匿名使用者

是不是字母打錯了??

c語言 新手提問

15樓:北風_那個吹

如果i不等於k 且i不等於j 且j不等於k即三者不同時相等,

然後則執行後面的語句。

不懂再問。

16樓:匿名使用者

!=是不等於

&&是邏輯與

意思是當i不等於j,j不等於k,k不等於i三個條件同時成立時

17樓:沐魂

就是說i,j,k三個的值都不相等

關於c語言的新手提問

18樓:萌娃娃

unsigned long是無符號的長整型資料 範圍是0到4294967295,不可以是負數的。你可以將unsigned long改成long就ok了

19樓:

是不是第二個引號的位置有些問題。似乎有些不正常

20樓:匿名使用者

unsigned long -a=1;

printf("the biggest integer:%ul\n",-a);

外貿新手提問很菜的問題,外貿新手提問一個很菜的問題

不同的公司,對於一票的理解可能不同。一般情況,一票可能指同一個發貨人,同一個收貨人,同一時間出貨,一張提單。這樣的話,是否有多個集裝箱櫃或者不滿一個櫃,都指一票。但是也有其他情況,如對於貨代和報關行,他們可能認為一票貨就是一個報關單的所有貨物。但這樣的認為並不會排除前面所說一般情況。你這裡的一票,應...

WOW新手提問,魔獸世界新手幾個問題

呵呵,我也是新手,不過剛剛好你的問題我知道一點,你跟團隊進副本打到的裝備你是不能自己拾取,不過你可以向你們團長需求的,但是這個這個需求的代價就是要付出dkp,而且都是由團長來分配的,我們團就是根據誰出的dkp高這個裝備就給誰。一 dkp積分系統由來。dkp,是dragon kill point 屠龍...

初玩DNF問題,DNF新手提問

qq會員可以得到乙個名為 紅色特權風暴 的稱號。php?actid 10022 dnf和冒險島有什麼相同的地方我不知道 沒有玩過冒險島 不好意思dnf和一款叫 鬼吹燈 的遊戲異曲同工 但是鬼吹燈做的非常垃圾。這是鬼吹燈官網的鏈結 你可以自己去看看。一 qq會員玩dnf有什麼優待沒?答 沒有。二 dn...