C语言-——while循环案例

30 阅读1分钟

求数列的和s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 ...+1/19

代码如下:

#include <stdio.h>
//s = 1 -1/2 + 1/3-1/4+1/5+...+1/19
int main() {
	double s = 0;
	int i = 1;
	while(i <= 19){
		printf("%d\n",i);
		if(i%2 == 0){
			s -= 1.0/i;
		}else{
		    s += 1.0/i;
		}
		i++;
	}

	printf("s=%f\n",s);
	return 0;
}

运行结果:

image.png

100以内的素数 案例:

while循环

判断素数:

只有1和它本身是它因数

n:97

如果2,3,4,......,n-1都不能整除n,那么说明n是一个素数

#include <stdio.h>
int main() {
	int n;
	printf("请输入一个整数:");
	scanf("%d",&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);
	}
	
	
}	

运行结果:

image.png

#include <stdio.h>

/*
while循环

判断素数:只有1和它本身是它因数



n:97

如果2,3,4,......,n-1都不能整除n,那么说明n是一个素数
 
*/
int main() {
	int n;
	printf("请输入一个整数:");
	scanf("%d",&n);
	//printf("%f",sqrt(n-1));
	int m = sqrt(n);//平方根 100→ 10
	// 假设 n是素数 
	int isPrime = 1;
	//开始循环判断 
	int i = 2;
	while(i <=m){
		if(n%i ==0){
			isPrime = 0;
			// 跳出循环
			break; 
		}
		i++;
	}
	if(isPrime ==1){
		printf("%d是素数",n);
	}else{
		printf("%d不是素数",n);
	}
}