① c語言 寫了一個程序代碼 為什麼不能循環了
因為你那個a:break直接執行了,順序執行下來會執行這個break,你把這個記號放到return那裡就可以了
a:return 0;
② c語言while循環為什麼執行不了
因為你的break沒有在大括弧里,每次直接跳出了循環,條件判斷後的多條語句一定要放到括弧里。我幫你改了一下,你再試試。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
intnumber,a;
inti=9;
srand((unsigned)time(NULL));
number=rand()%101;
while(1){
i--;
if(i<0){
printf("游戲結束你猜錯了,這個數是%d",number);
break;
}
printf("此數范圍是0-100");
printf("請輸入一個0-100的數字");
scanf("%d",&a);
if(a==number)
{
printf("游戲結束你猜對了,這個數是%d",number);
}
elseif(a<number)
{
printf("你輸入的數比這個數小,你還有%d次機會,請重新輸入",i);
}
elseif(a>number)
{
printf("你輸入的數比這個數大,你還有%d次機會,請重新輸入",i);
}
elseif(a==number){
printf("游戲結束你猜對了,這個數是%d",number);
return0;
}
}
return0;
}
③ c語言for語句為什麼循環不成功
你的循環成功了,但是沒有在每次循環a=0,造成完數的判斷有誤,最後只有1一個「完數」(因為a被累加起來了)
④ C語言scanf語句導致無法進入循環
問題已經解決,還是比較簡單的。。。一個小問題而已。是scanf函數的問題。
我先貼圖好吧,我運行的結果。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE 50
#define RAT 5
struct movie{
char name[SIZE];
int rating;
};
void * s_gets(char *,int n);
int main()
{
int i=0,j,k;
struct movie *mov;
printf("輸入你想錄入的影片數量 ");
scanf("%d",&k);
mov=(struct movie *) malloc(k*sizeof(struct movie));
printf("輸入你想錄入的第一部影片名稱 ");
while(i<k&&s_gets(mov[i].name,SIZE)!=NULL&&mov[i].name[0]!='