c語言for迴圈輸出問題,C語言 for迴圈輸出陣列的問題

2022-10-11 14:12:03 字數 6428 閱讀 4023

1樓:匿名使用者

#include

#include

typedef int elemtype;

typedef int status;

typedef struct lnode

lnode,*linklist;

//如果i小於1或者大於表長加1,則返回error

if (!p || j>i - 1)

s = (linklist)malloc(sizeof(lnode));

s->data = e;

s->next = p->next;

p->next = s;

return 1;

if (!p->next || j>i - 1)

linklist q;

q = p->next;

p->next = q->next;

e = q->data;

free(q);

return 1;

} int main()

printf("\n");

int z;

int x;

printf("請輸入要插入位置:");

scanf("%d", &z);

printf("請輸入要插入元素:");

scanf("%d", &x);

if(linkinsert_l(w, z, x))

else

printf("插入失敗\n");

y = w;

for (int j = 0; j < n; j++)

printf("\n");

int r;

int t;

printf("請輸入要刪除位置:");

scanf("%d", &r);

if(linkdelete_l(w, r, t))

else

printf("刪除失敗\n");

y = w;

for (int h = 0; h < n; h++)

printf("\n");

return 0;}

2樓:阿四哥

c語言的陣列概念的學習,通過for迴圈輸出列印陣列

c語言:for迴圈輸出陣列的問題

3樓:0動感螞蟻

第一在你沒有加a[i]=i之前,由於沒有給陣列賦值,所以裡面的值是隨機的。

第二你加了a[i]=i,我猜你沒有為for迴圈加大括號,所以**就變成了

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

a[i]=i;

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

這段**你應該就清楚了,他輸出的是a[10](越界了),一個隨機值

4樓:匿名使用者

你在輸出之前沒有為陣列a[10]中元素賦初始值,所以輸出什麼結果都是完全有可能的。

你在printf之間加一句 a[i] = i,那麼會一直執行這一句,而printf值是單獨的一個語句,而且他顯示的值也超出陣列的邊界了,因此此時i為10。

5樓:zyz鄭遠征

你的陣列沒有初始化,裡面的值不確定的。

6樓:

因為你的a[10]陣列沒有初始化,你需要初始化

7樓:阿四哥

c語言的陣列概念的學習,通過for迴圈輸出列印陣列

c語言 用for迴圈怎麼輸出 * *** ***** *** *

8樓:阿四哥

c語言的陣列概念的學習,通過for迴圈輸出列印陣列

9樓:龍少

#include

void main()

int i,j;

for(i=1;i<=3;i++)

for(j=1;j<=3-i;j++)

printf(" ");

for(j=1;j<=2*i-1;j++)printf("*");

printf("\n");

for(i=2;i>=0;i--)

for(j=1;j<=3-i;j++)

printf(" ");

for(j=1;j<=2*i-1;j++)printf("*");

printf("\n");結果

10樓:

//請你測試!

#include

int main()

for(i=2;i>=0;i--)}

11樓:匿名使用者

#include

void main()

while(j<4)}

12樓:暢景彰

這是我寫的程式,在vc6下通過除錯執行了

#include

void main()

for(i=2;i>=1;i--)

printf("\n");}

c語言for迴圈問題? 5

13樓:gta小雞

第一個雙重for迴圈得到矩陣

0 1 2

1 2 3

2 3 4

最終輸出的是n[2][2],用x'表示矩陣元素的新值,x表示矩陣元素的舊值

n'[2][2] = n[2][2] + n'[1][1]n'[1][1] = n[1][1] + n[0][0]於是n'[2][2] = 4 + 2 + 0 = 6

14樓:匿名使用者

把前面一個雙重迴圈後的 陣列以及後面一個雙重迴圈後的陣列分別輸出來對比看看 就知道

程式輸出 的 最後結果是

c   6

15樓:壹顆粒

答案是選c,推導過程好像是沒有錯誤的,至於c++執行答案錯誤是因為,第七行**j<3;j++寫成了i呀

16樓:改全嶽媚

不考慮裡的語句時,第一個for迴圈需要執行5次,其中的每一個i都要在第二個for迴圈裡執行4次,所以迴圈體執行的次數為5x4=20次。

17樓:陳新蘭仙綢

首先得明確一點:字元'0'和資料0不相等,前者為0x30,後者為0x00000000,所以第一次迴圈條件是成立的,只是if條件不滿足罷了;兩個條件都滿足的,只有『z』和『x』,所以結果是2。

c語言for迴圈問題

18樓:匿名使用者

從for語句的這種用法++寫在前面和後面沒有區別, 作為迴圈最後執行的語句,先加和後加都是加,不影響最終a的取值, 在下次迴圈條件判斷執行前, a的值都保證已經加1了.

b=a++; 相當於b=a; a++;

b=++a; 相當於a++; b=a;

迴圈執行順序是:

a=0;

判斷a<5成立, 開始迴圈 (如果不成立, 直接退出迴圈)執行迴圈體一次

a++; //或者++a;

a<5成立, 執行迴圈體一次

a++;

...a<5不成立, 結束迴圈

19樓:風火輪

這兩個for迴圈執行完畢後得到的結果完全相同。雖然說a++是先取值再自增,++a是先自增再取值,但這是相對於賦值語句而言的,例如x1=a++,x2=++a,這兩句就是完全不同的結果。在for迴圈中,表示式3的a++和++a完全等效,因為表示式3的語句可以單獨提出來,放到迴圈體的最後一句單獨執行,也就是說下面四個形式完全等效:

for (a = 0; a < 5; a++)*************************for (a = 0; a < 5; )

*************************for (a = 0; a < 5; ++a)*************************for (a = 0; a < 5; )

另外由於a是定義在for迴圈以外的,所以題中兩個a並不獨立,它們用的是同一個變數,取自同一個地址,但由於兩個for迴圈都有表示式1:a=0,都對a做了初始化操作,所以兩個迴圈不會相互影響。

20樓:a葰汰

簡單的for迴圈程式如下:

for(int i=0;i<20;i++)執行步驟是:

1、i=0 初始化初值;

2、 進行條件判斷i是否<20,如果條件為真,則繼續執行;

3、執行迴圈體的**;

4、i++ 變數i自增一次;

5、回到第2步,一直迴圈,直到第2步條件為假時, 退出迴圈,結束。

21樓:匿名使用者

這兩個for輸出應該是一樣的

第一次執行a=0 a<5

第二次執行a++或++a

結果都是01234

c語言for迴圈輸出有問題,請高手賜教?

22樓:匿名使用者

把if(m%10==0)printf("\n");放到if(i>k)裡面即可

void main()

}printf("\n");}

c語言for迴圈的問題?

23樓:匿名使用者

#include

int main()

printf("%d\n", c);//輸出迴圈次數!!

return 0;}

24樓:卷誠之意

呵呵從來沒有看到過這種情況,for迴圈裡面只可能有三個表示式,而且只可能出現二個冒號

他可以是這樣的寫法

for(inti=

0,j=1;i

<=10;i++,j++)

一個表示式裡面可能帶多個引數

25樓:王勃啊

這個程式說的是3x+1問題,

迴圈是不知道何時終止的。

比如一個起始數字 5,接下來16,8,4,2,1如果n>1只是一個終止條件的判斷,只要還未到1,就繼續這個迴圈。

而c不過是記錄經過多少步才使得這個數變為1.

26樓:蝸牛要奔跑

n>1可以解釋,因為n>1僅僅是作為迴圈的判斷條件,後面輸出的c與迴圈裡面的演算法有關係,c是要迴圈幾次! 說實話,我真沒有看懂你這個是要幹嘛或者說你這個**是要做什麼?難道是:

輸入一個數經過if /else條件幾次變換能變成1?

27樓:

中間只是迴圈是否繼續的判斷條件,不要求必須是c。

最後輸出c,是表示運算了多少次。

這個程式就是 你輸入一個 數。如果對2取餘=1,那麼他就乘3再+1。

否則 這個數 除 2

直到這個數最後變成1。

在這個過程中,運算了多少回就是列印的值

28樓:天_涯明月

for迴圈中,for(表示式1;表示式二;表示式三),語法本身並沒有表示式的約束。一般表示式一用來初始化,在迴圈前,會執行一次。表示式二用來做迴圈條件,若表示式為真,則進入迴圈,否則跳出迴圈。

表示式三用來做迴圈變數的改變。比較常用的形式是for(i0;i<100;i++)。

就本題來看,是n>1用來做迴圈條件。

2.    c在本題中是用來記錄迴圈體執行次數的,輸出c可以得到n計算的次數。

。。手打望採納。。

29樓:匿名使用者

c = 0;

while(n>1)

printf("%d\n",c);

這樣寫,可能你看得清楚點。。。

c語言用for如何實現多次迴圈的輸入輸出

30樓:小夏在深圳

for 語句稱之為迴圈語句,語句塊稱之為迴圈體,而這種結構在c++中稱之為迴圈結構。執行迴圈前,建立了兩個變數,分別為sum和i。

迴圈語句中習慣用諸如i、j、k之類的字母作為變數名,來控制迴圈執行次數,這些變數又稱之為迴圈控制變數。而sum表示"和"的意思,作用是把一個個數值累加起來。

用for語句計算1加到100的和的源**如下#include "iostream.h"

int main()

cout

}擴充套件資料1、防止死迴圈,即確保迴圈體記憶體在可以改變表示式值的語句,如i++。

2、迴圈和if語句一樣的地方是:大括號可以省略。但只能控制離它最近的一條語句。也就是說當迴圈體只有一條語句的的時候,可以省略大括號。但這條語句不能是宣告語句。

c語言for迴圈問題,c語言 for迴圈問題

你的for迴圈用錯了,for的三個引數第一個是賦初值,第二個是迴圈條件,第三個是增值。你的迴圈條件沒有給,並且就算寫對位子你的條件好像也錯了,按你的意識是大於10就退出,但是你的迴圈條件是 這是 或 也就是滿足一個條件就進行迴圈,當你輸入10的時候大於了1,那麼迴圈就可以進行。所以你應該是用 用 且...

c語言迴圈中如何輸出多個陣列,C語言FOR迴圈幾個陣列不同

c語言輸出陣列時,需要根據陣列下標,或者指標移動進行輸出。所以,一般不會用一內個迴圈容輸出多個陣列,這樣操作不方便,而且降低效率。常規的做法是,在多個迴圈中,各自輸出不同的陣列。示例 如下 include int main include void main int y 5 int z 5 int ...

關於c語言二維陣列輸出問題,C語言程式設計二維陣列輸出一個23的矩陣

二維bai陣列是由一維陣列構成的,迴圈第du一維輸出zhi就可以了 include stdio.h int main int argc,char argv int i for i 0 i 7 puts s i return 0 執行結果 版空的那一行就是那個權空字串的輸出結果。c語言程式設計 二維陣...