while(表示式){程式片段},當表示式成立時,就執行程式片段
#include <stdio.h>
int main(){
int answer=4;
int guess;
while(guess!=answer){
printf("Please enter your guess: ");
scanf("%d", &guess);
if(guess>answer){
printf("Too large!\n");
}else if(guess<answer){
printf("Too small!\n");
}else{
printf("Correct!\n");
}
}
return 0;
}
上面的程式碼中我們要猜數字,我們先假設我們的答案是4,雖然我們可以用if和if...else來寫,但我們這次用while來寫,我們用while先假設guess跟我們的answer是不一樣的,如果guess大於answer我們就會顯示Too large太大了,guess小於answer我們就會顯示Too small太小了,其他的就一定是對的輸出Correct正確
#include <stdio.h>
int main(){
int answer=4;
int guess;
printf("Please enter your guess: ");
scanf("%d", &guess);
while(guess!=answer){
if(guess>answer){
printf("Too large!\n");
}else{
printf("Too small!\n");
}
printf("Please enter your guess: ");
scanf("%d", &guess);
}
printf("Correct!\n");
return 0;
}
但我們也可能第一次guess就是4,那我們while就不會執行了所以我們直接輸出Correct,其他的像上面一樣,太大的Too large,太小的Too small
找出所有因數的同時,一邊紀錄因數的個數,如果因數個數恰好是2個,則n為質數
#include<iostream>
using namespace std;
int main()
{
int n;
int i;
int counter;
while( cin >> n )
{
counter = 0;
i = 1;
while( i <= n )
{
if( n%i == 0 )
{
counter = counter+1;
}
i = i+1;
}
if( counter == 2 )
{
cout << "Yes" << endl;
}
else
{
cout << "No" << endl;
}
}
return 0;
}
上面的程式碼中我們就先假設n被測得數字和他的因數i以及紀錄因數的個數counter,如果因數小於等於被測得數字他們又可以整除的話counter就+1,下個數字加1繼續比,直到如果因數個數恰好是2個,則n為質數,最後在判斷是否為質數,輸出Yes是和No否就好