⑴ 如何只讓c語言程序FOR循環只進行一次
for(……)
{
//你的代碼
break;
}
一個break;不管for裡面的條件如何,只要可以進入for。運行一次break;就跳出for循環
⑵ c語言問題求助大神,為啥第二個while只能循環一次
你應該給answer賦初值'Y',或者使用dowhile結構,這是第一個問題。
你第二個循環裡面沒有重新scanf讀取n的值,這是第二個問題。
使用scanf的時候會遇到緩沖區沒被清空(裡面還有個回車換行),可以用fflush(stdin),不過這個有點忘了,你自己網路一下,這是第三個問題。
----------------------------------------------------------------------
你也不追問,只是評論裡面問,我只好再修改答案了。
下面是我修改的代碼
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
main()
{
intn,x;
charanswer='Y';
srand((unsigned)time(NULL));//初始化隨機函數,不加這句的話,每次運行生成的隨機序列都是一樣的
printf("這是一個猜數字的游戲 ");
do
{
x=rand()%30+1;
printf("請輸入一個1到30間的數字 ");
scanf("%d",&n);
while(n>30||n<1)
{
printf("輸入錯誤只能是1到30間的數字 請重新輸入 ");
scanf("%d",&n);
}
if(n==x)
{
printf("你猜中了!恭喜!");
}
else
{
printf("你猜錯了數字是%d ",x);
}
printf("還要繼續嗎YORN ");
fflush(stdin);
scanf("%c",&answer);
}
while(toupper(answer)=='Y');
}
其中隨機數函數你沒有初始化,
⑶ C語言 do while循環;根據輸入來判斷,但是只循環一次
while
語句循環
1while語句中的表達式一般是關系表達式或者是邏輯表達式,只要表達式的值為真(非0)即可繼續循環
2
循環體中如果包括一個以上的語句
則必須用{}括起來,組成符合語句
3
應注意循環條件的選擇
以避免死循環
4
允許while語句的循環體又是while語句,從而形成雙循環。
do-while語句
1
do-while語句和while語句的區別在於
do-while語句是先執行後判斷,因此
do-while至少要執行一次循環體,而while是先判斷後執行,如果條件不滿足,則一次循環體語句也不執行。while語句和
do-while語句一般可以相互改寫。
2
在if語句和while語句中,表達式後面不能加分號,而在
do-while語句的表達式後面必須加分號。
3
do-while語句也可以組成多重循環,而且可以和while語句相互嵌套。在do和while之間的循環體由多個語句組成是,也必須用{}括起來形成一個復合語句。
⑷ 編了一段c語言的循環語句,不知道為什麼只能循環一次
if(i=18)break;
應該改成if(i==18)break;
因為i=18是賦值語句,不是判斷大小的比較。
或者乾脆去掉if(i=18)break;,把程序前面while(i<=18)改成while(i<18)。
這樣效果是一樣的,原來的程序,既然在while裡面設定了條件跳出,又用if和break;跳出,有些羅嗦了。
⑸ c語言 只讓循環中的某一段代碼只運行一次,其餘代碼正常循環
設置一個標志位flag,比如BOOL flag=FALSE;只運行一次的代碼要對這個值作判斷:if(!flag){ //則運行;flag=TURE;}只運行一次後,flag被置為TRUE,後面循環中該段代碼再也不會運行了。
⑹ C語言,為什麼while 循環只執行一次
這個顯然不是執行一次,是無數次,while循環是一個無限循環,不會結束。
while(k=1),注意k=1的意思是把1賦值給變數k,所以k的值變成1,且表達式k=1的值也變成1,即真,循環會一直執行下去。
如果寫成while(k==1),則一次都不會執行。
⑺ 請問c語言中只循環了一次怎麼解決
樓主,我看了好幾遍
for(i=bb;i>-1;i--);
發現這行語句有問題,需要去掉行結尾的分號,它有循環卻不做事呀,;是for語句塊的結尾,而後面的{}成了個只運行一次的語句塊。如圖