C语言--while练习

33 阅读1分钟

1.s=1-1/2+1/3-1/4+1/5-1/6....-1/19

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

出错点:1.是小数类型要用double 2.避免死循环,加上i++

image.png

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

#include <stdio.h>
#include <math.h>
int main(){
	int n;
	printf("请输入一个整数:"); 
	scanf("%d",&n);
	
	int m =sqrt(n);  //平方根100→10 
	//假设n是素数 
	int isPrime = 1;
	//开始循环判断 
	int i = 2;
	while(i<=m){
		if(n%i==0){
			printf("%d能整除\n",i); 
			isPrime=0;
			//跳出循环
			break;
		}
		i++;	
	} 
	if(isPrime==1){
		printf("%d是素数",n);
	}else{
		printf("%d不是素数",n);
	}
	
	return 0;
}

以后回来再看,难点多

输出如下 image.png

image.png