c語言for和if語句結合在一起時的問題

時間 2021-07-01 01:14:21

1樓:匿名使用者

你的for迴圈只有一層迴圈,是無法排序的,for迴圈中if沒有跳出語句,所以不算控制for迴圈

下面修改了一下:

#include

#define size 10

int main(void)

int hold;

int a[size];

int i;

int j;

int k;

printf("please input ten numbers:\n");

for(i=0;iscanf("%d",&a[i]);

for(int i = 0; i < size - 1; i++)for(j=0;jif (a[j+1]>a[j])hold=a[j];

a[j]=a[j+1];

a[j+1]=hold;

for(k=0;kprintf("%d  ",a[k]);

puts("");測試:

2樓:匿名使用者

如果輸入的是1 2 3 4 5 6 7 8 9 10的話,輸出的結果應該是2 3 4 5 6 7 8 9 10 1

如果你想從大到小排序的話,通過這種簡單的兩兩比較大小,至少要用兩個for迴圈

#include

#include//包含這個標頭檔案可以呼叫system("pause");

#define size 10

int main(void)

}for(k=0;k

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

system("pause");

}這樣程式的輸出結果就應該是10 9 8 7 6 5 4 3 2 1了

3樓:

//-------------------int hold;

int a[size];

int i,j,k;

printf("please input ten numbers:\n");

for(i=0;ia[i+1])

}}for(k=0;k

//-----------

c語言for語句中內嵌if 語句的問題

4樓:匿名使用者

為滿足要求,可修改**如下:

#include

void main()

else}}

}在vc6下驗證通過,與題目**效果一致,如下圖:

供參考。

5樓:

d任意表示式

請採納。。。。

c語言:break語句和if語句在for迴圈中的使用問題?

6樓:汗耕順閔凰

是的,break只跳出迴圈2,判斷條件還執行。你這個程式本來就不對。

你可以在break之前加個標誌,比如定義一個boolbflag;

在數位分解之前bflag

=false;

在break之前bflag

=true;

在判斷條件之前再加個if

(!bflag

&&a1+a4==a2+a3)

7樓:衷玉芬達燕

不會執行,原因是兩層for迴圈,break跳出了裡層的迴圈,這時候會跳轉到第一個迴圈那邊。

第二個if判斷語句屬於第一個迴圈,而不是第二個迴圈,第二個迴圈只包括一個if語句和break。

8樓:戰玉蘭菅羅

例中break語句應該只是跳出了for迴圈2,break語句執行後下面的if判斷條件語句是否繼續執行

繼續執行

遇到c語言問題,輸入一個數,for迴圈內if語句,條件不符合重新輸入。

9樓:匿名使用者

break本來就是跳出迴圈用的,換成break自然沒問題。當你輸入小於100時,你讓i= 0,但是你忘記了還要執行i++,所以,i依然會變成1。

10樓:匿名使用者

if裡面加continue結束本次迴圈,開始下一次

11樓:鍾晴董琪

你可以用while來實現迴圈輸入,沒必要用goto,這個語句已經不建議使用了,樓上的正解

c語言if語句,c語言if語句

沒明白你的意思,是指輸入一個數,求1到這個數的階乘的和嗎?include stdio.h void main printf ld s 如果是這個意思的話,那大概這樣沒問題,你試一下,看是不是你想要的。include define i 20 main printf en f n en include ...

C語言之FOR語句,C語言for語句問題?

因為你主程式的後半個大括號沒打,所以系統自動找到兩個for語句之後的那個大括號當程式結束,既然這樣,那兩個for語句之間的那個大括號自然因為沒有後半個而變成多餘的,也就出現了錯誤。另外,你的程式裡還有一些錯誤。修改後程式 main int i,j printf array a for i 0 i 1...

C語言for語句

d i 0 執行printf語句,表示式x 結果為10,x 9,y的結果為10,此時執行for中表示式y i,所以此時y 1,i 1 下一次迴圈判斷 x 8,滿足條件,進行下一次迴圈i 1 執行printf語句,表示式x 結果為9,x 8,y的結果為1,此時才會執行for中表示式y i,所以此時y ...