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

2021-07-01 01:14:19 字數 2176 閱讀 9146

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語句的格式是什麼?

printf t f n w h h 你程式中根本就沒有對變數t賦值,這句t f放在printf中,只是當作表面上的字串顯示而已。並不會對t賦值。scanf f f h,w t w h h printf t f n t include include int main 沒有給t值賦值,在printf...

C語言賦值語句,C語言中賦值語句有什麼規則要求?

選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每一個順序點都執...

c語言WHILE語句

兄弟,應該上面的程式無數次,下面的一次吧 原理如下 while是判斷括號內部執行的語句的真假 1,k 2是一個賦值表示式,永遠為真,所以執行了無數次 2,k 2是一個判斷式,由於k只有在第一次的時候是2,執行後會 所以只執行一次 兄弟,祝你成功 第一個程式段語句錯了啊 while k 2 裡面的k ...