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語句一樣的地方是:大括號可以省略。但只能控制離它最近的一條語句。也就是說當迴圈體只有一條語句的的時候,可以省略大括號。但這條語句不能是宣告語句。 你的for迴圈用錯了,for的三個引數第一個是賦初值,第二個是迴圈條件,第三個是增值。你的迴圈條件沒有給,並且就算寫對位子你的條件好像也錯了,按你的意識是大於10就退出,但是你的迴圈條件是 這是 或 也就是滿足一個條件就進行迴圈,當你輸入10的時候大於了1,那麼迴圈就可以進行。所以你應該是用 用 且... c語言輸出陣列時,需要根據陣列下標,或者指標移動進行輸出。所以,一般不會用一內個迴圈容輸出多個陣列,這樣操作不方便,而且降低效率。常規的做法是,在多個迴圈中,各自輸出不同的陣列。示例 如下 include int main include void main int y 5 int z 5 int ... 二維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語言程式設計 二維陣...c語言for迴圈問題,c語言 for迴圈問題
c語言迴圈中如何輸出多個陣列,C語言FOR迴圈幾個陣列不同
關於c語言二維陣列輸出問題,C語言程式設計二維陣列輸出一個23的矩陣