while循环累加运用

22 阅读1分钟

1.累加计算

计算1-1/2+1/3-1/4+...+1/19

#include<stdio.h>
int main(){
double s = 1.0; 
	int i = 2;
	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);
}

演示如下:

image.png

2.循环匹配

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

n:97

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

代码如下:

#include<stdio.h>
int main(){
	//判断素数:只有1和它本身是因数
	//n:97
	//如果2,3,4,...,n-1都不能整除n,那么说明n是一个素数
	int isPrime = 1;
	int n;
	int i = 2;
	printf("请输入一个整数: ");
	
	scanf("%d", &n);
	int m = sqrt(n);
	if (n <= 1) {
    	isPrime = 0;
    } else {
        while (i <= m) {
            if (n % i == 0) {
                isPrime = 0;
                break; 
            }
            i++; 
        }
    }

    if (isPrime == 1) {
        printf("%d是素数\n", n);
    } else {
        printf("%d不是素数\n", n);
    }

    return 0;
}

演示如下:

image.png