while循环2

36 阅读1分钟

例题1

#include<stdio.h>

/*
   while循环
   
*/ 
int main(){
	
	//s=1-1/2+1/3-1/4+1/5-1/6....+1/19
	
	double s = 0;
	int i = 1;
	while(i <=19){
		printf("%d\n",i);
		if(i%2==0){
			s-=1.0/i;
		}
		s += 1.0/i;
		i++;
	}
	printf("s=%f\n",s);

	return 0;
}

例题2

#include<stdio.h>

/*
   while循环
   判断素数:只有1和本身是它的因数
   n:97
   
   如果2,3,4,......,n-1都不能整除n, 那么说n是一个素数 
   
*/ 

int main(){
	
	int n;
	printf("请输入一个整数:");
	
	scanf("%d",&n);
	// 假设n是素数 
	int isPrime = 1;
	int i = 2; 
	while(i <=n-1){
		if(n%i ==0){
			isPrime = 0;			
		}
		i++;
	}
	
	if(isPrime == 1){
    	printf("%d是素数",n);
	
	}else{
    	printf("%d不是素数",n);	
    }
	return 0;
	
}

编译

image.png

image.png

while 循环的核心是一个条件表达式,当条件为真(非 0)时,循环体内的代码会反复执行,直到条件变为假(0)。while 循环的运行流程是:

  1. 检查 条件表达式

  2. 若为真,执行循环体,然后返回步骤 1。

  3. 若为假,退出循环,继续执行后续代码。

也就是说,while 循环的逻辑是:只要条件成立,就继续执行。