栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言复习2

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言复习2

格雷戈里公式求Π近似值练习

#include
#include
int main(void)
{
	int denominator,flag,i;
	double eps,item,pi;
	printf("enter nyour eps=");
	scanf("%lf",&eps);
	
	denominator=1;//分母 
	i=1;//存放项数 
	flag=1;//存放符号 
	item=1.0;//存放i项的值 
	pi=0;//存放结果 
	
	while(fabs(item) >=eps)//fabs()数学函数绝对值 
	{
		pi=item+pi;
		i++;
		flag=-flag;
		denominator=denominator+2;
		item=flag*1.0/denominator;//注意整数相乘除为整数 
	 } 
	 pi=pi+item;//加上最后一项
	 pi=pi*4;
	 printf("pi=%.4lfn",pi);
	 printf("i=%d",i);
	 
	 return 0; 
}

do_while循环

先执行do语句,在判断循环条件。即无论循环条件是什么,都至少会执行一次循环语句。

利用此性质,也可对一些代码进行优化。

原先代码:

#include
int main(void)
{
	int count,number,t_number;//count记录位数
	
	count=1; //count初值为1,以防止number=0的情况
	printf("please enter your number");
	scanf("%d",&number);
	
	t_number=number;//保存Number的值
	
	if(number<0)
	{
		t_number=-t_number;
	 } 
	 
	 t_number=t_number/10;//这里为了防止为个位数的情况要在进行消除一位的代码 
	 
	 while(t_number!=0)
	 {
	 	count=count+1;
	 	t_number=t_number/10;
	 	
	 }
	 
	 
	 printf("your’s number count is %d.",count);
	 	
	 
	 return 0;

}
  

用do_while:

#include
int main(void)
{
	int count,number,t_number;//count记录位数
	
	count=1; //count初值为1,以防止number=0的情况
	printf("please enter your number");
	scanf("%d",&number);
	
	t_number=number;//保存Number的值
	
	if(number<0)
	{
		t_number=-t_number;
	 } 
	 do
	 {
	 	count=count+1;
	 	t_number=t_number/10;
	 	
	 }
	 while(t_number!=0);//继续循环的条件,do_while循环使得do中的代码至少执行了一次 
	
	 printf("your’s number count is %d.",count);
	 	
	 
	 return 0;

}
  

break与continue

二者都可用于循环中,且在循环中使用时,需要添加条件,即用if.

二者的区别有:

1,break在循环中跳过接下来的语句,直接跳出循环。continue在循环中,则跳过接下来的语句,直接进入下一轮循环。

2,continue只能用于循环中,而break还可用于switch语句中。

#include
#include
#include
int main(void)
{
	int count=0;
	int flag=0;
	int yournumber,mynumber;
	srand(time(0));//利用函数使随机数的产生与系统时钟有关 
	mynumber=rand()%100+1;//产生随机数 
	flag=0;
	while(count<7)
	{
		printf("hi,in this game.I have a number.you have 7 chance to guess the number.nplease enter your number 1~100=n");
		scanf("%d",&yournumber);
		count=count+1;
		
		if(yournumber==mynumber)
		{
			flag=1;
			printf("ok,you are rightn");
			break;//跳出循环 
		}
		else if(yournumber 

自定义函数求阶乘和:

#include
double fact(int a); 
int main(void) 
{
	int i,n;
	double sum;
	
	printf("please enter the n =");
	scanf("%d",&n);
	
	sum=0;
	
	for(i=1;i<=n;i++)
	{
		sum=sum+fact(i);
		
	}
	printf("the sum = %f",sum);
	return 0;
}

double fact(int a)
{
	double result;
	int i;
	result=0;
	
	if(a<0)
	{
		return 0;//负数的阶乘为无穷小,为零 
	}
	
	for(i=1;i<=a;i++)
	{
		result=result*i;
	}
	
	return result;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743558.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号