C语言学习系列八——循环结构while


例4-1
#include<stdio.h>
#include<math.h>
int main()
{
	int deno,flag;
	double item,pi;
	
	flag=1;
	deno=1;
	item=1.0;
	pi=0;
	
	while( fabs (item) >=0.0001){
		 
		 item=flag*1.0/deno;
		 pi=pi+item;
		 flag=-flag;
		 deno=deno+2;
	}
		pi=pi*4;
		
		printf("pi*=%.4f\n",pi);
		return 0;
 } 
pi*=3.1418

while语句

while   ( 表达式 )

          循环体语句;

注意:只有一个表达式和一条循环体语句

将for循环改成while语句

for  (表达式1 ; 表达式2 ; 表达式3 ){

循环体语句

}

表达式1;

while (表达式2){

for的循环体语句;

表达式3;

}

例4-2
#include<stdio.h>
int main()
{
	int count,num;
	double grade,total;
	
	num=0;
	total=0;
	count=0;
	printf("Enter grade: ");
	scanf("%lf",&grade);
	
	while(grade>=0){
		total=total+grade;
		num++;
		if(grade<60)
		
			count++;
			scanf("%lf",&grade);
			
		
	}
	if(num!=0){
		printf("Grade average is %.2f\n",total/num);
		printf("Number of failures is % d\n",count);
	}
	else
		printf("Grade average is 0\n");
	
	
	return 0; 
 } 
Enter grade: 67 88 73 54 82-1
Grade average is 72.80
Number of failures is  1
Enter grade: 67 88 73 54 82 -2  (最后一个数输-2,结果不变)
Grade average is 72.80
Number of failures is  1
Enter grade: -1 67 88 73 54 82  (第一个就数输负数,直接跳出循环)
Grade average is 0

 

练习4-1
#include<stdio.h>
#include<math.h>
int main()
{
	int deno,flag;
	double item,pi;
	
	flag=1;
	deno=1;
	item=0.0;/*将item赋值0,0的绝对值小于0.0001,直接跳出循环,pi=0*4=0*/ 
	pi=0;
	
	while( fabs (item) >=0.0001){
		 
		 item=flag*1.0/deno;
		 pi=pi+item;
		 flag=-flag;
		 deno=deno+2;
	}
		pi=pi*4;
		
		printf("pi*=%.4f\n",pi);
		return 0;
 } 
pi*=0.0000
练习4-3
#include<stdio.h>
#include<math.h>
int main()
{
	double eps;
	scanf("%lf",&eps);
	
	int deno,flag;
	double item,s;
	
	deno=1;
	flag=1;
	item=1.0;
	s=0.0;
	
	while(fabs(item)>=eps){
		item=flag*1.0/deno;
		s=s+item;
		flag=-flag;
		deno=deno+3;
	}
	
	printf("%lf",s); 
	return 0;
	
 } 
0.001
0.836147

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值