C语言例题 第五章 循环结构程序设计

例5.1 求1+2+3+…+100.

int main()
{
	int i=1,x=0;
	while (i<=100)
	{
		x=x+i;
		i++;
	}
	printf("x=%d",x);
	return 0;
}

运行结果如下:
在这里插入图片描述

例5.2 用do…while求1+2+3+…+100.

int main()
{
	int i=1,x=0;
	do
	{
		x=x+i;
		i++;
	}while(i<=100);
	printf("x=%d",x);
	return 0;
}

运行结果如下:
在这里插入图片描述

例5.3 while与do while比较

while
int main()
{
	int i,sum=0;
	printf("please enter i,i=?");
	scanf("%d",&i);
	while(i<=10)
	{
		sum=sum+i;
		i++;
	}
	printf("sum=%d\n",sum);
	return 0;
}

运行结果如下:
在这里插入图片描述
在这里插入图片描述

do whlie
# include <stdio.h>
int main()
{
	int i,sum=0;
	printf("please enter i,i=?");
	scanf("%d",&i);
	do
	{
		sum=sum+i;
		i++;
	}while(i<=10);
	printf("sum=%d\n",sum);
	return 0;
}

运行结果如下:
在这里插入图片描述
在这里插入图片描述

例 5.4 在全系1000名学生中举行慈善捐募,当总数达到10万元时就结束,统计此时捐款人数以及平均没人捐款数目。

# include <stdio.h>
int main()
{
	float amount,aver,total=0;
	int i;
	for(i=1;i<=1000;i++)
	{
		printf("please enter amount:");
		scanf("%f",&amount);
		total=total+amount;
		if(total>=10000)
			break;
	}
	aver=total/i;
	printf("num=%d\naver=%f\n",i,aver);
	return 0;

}

运行结果如下:
在这里插入图片描述

例5.5 要求输出100~200的不能被3整除的数。

# include <stdio.h>
int main()
{
	int x;
	for(x=100;x<=200;x++)
	{	if(x%3!=0)
	printf("%d\t",x);}
	return 0;
}

运行结果如下:
在这里插入图片描述

例5.6 输出4*5矩阵

# include <stdio.h>
int main()
{
	int x,j,n=1;
	for(x=1;x<=4;x++)
		for(j=1;j<=5;j++,n++)
		{ 	printf("%d\t",x*j);
			if(n%5==0)printf("\n");
			
		}
		return 0;
}

运行结果如下:
在这里插入图片描述

# include <stdio.h>
int main()
{
	int x,j,n=0;
	for(x=1;x<=4;x++)
		for(j=1;j<=5;j++,n++)
		{ 	if(n%5==0)printf("\n");
			if(x==3&&j==1)
				break;
		
			printf("%d\t",x*j);
		}
		return 0;
}

运行结果如下:
在这里插入图片描述

# include <stdio.h>
int main()
{
	int x,j,n=0;
	for(x=1;x<=4;x++)
		for(j=1;j<=5;j++,n++)
		{ 	if(n%5==0)printf("\n");
			if(x==3&&j==1)
				continue;
		
			printf("%d\t",x*j);
		}
		return 0;
}

运行结果如下:
在这里插入图片描述

例5.7 用公式π/4≈1-1/3+1/5-1/7+…求π的近似值直到发现某一项的绝对值小于10的-6次方为止

# include <stdio.h>
# include <math.h>
int main()
{
	int sign=1;
	double n=1.0,sum=0.0,term=1.0;
	while(fabs(term)>=1e-6)
	{	sum=sum+term;
	sign=-sign;
	n=n+2;
	term=sign/n;}
	sum=sum*4;
	printf("sum=%10.8f\n",sum);
	return 0;
}

运行结果如下:
在这里插入图片描述

例5.8 求斐波那契数列的前40个数

# include <stdio.h>
int main()
{
	int x=1,y=1,z;
	int i;
	printf("%12d\n%12d\n",x,y);
	for(i=1;i<=38;i++)
	{	z=x+y;
		x=y;
		y=z;
	printf("%12d\n",z);
	}
	return 0;
}

运行结果如下:
在这里插入图片描述

# include <stdio.h>
int main()
{
	int x=1,y=1,z;
	int i;
	for(i=1;i<=20;i++)
	{	printf("%12d%12d",x,y);
	  if(i%2==0)printf("\n");
		x=y+x;
		y=y+x;
	}
	return 0;
}

运行结果如下:
在这里插入图片描述

例5.9 输入一个大于3的整数n,判定它是否为素数。

# include <stdio.h>
int main()
{
	int n,i;
	printf("please enter a integer number,n=?");
	scanf("%d",&n);
	for(i=2;i<n;i++)
	{
		if(n%i==0)
			break;
	}
	if(i<n)
		printf("该数不为素数");
	if(i=n)
		printf("该数为素数");
	return 0;
}

运行结果为:
在这里插入图片描述

# include <stdio.h>
# include <math.h>
int main()
{
	int n,i,k;
	printf("please enter a integer number,n=?");
	scanf("%d",&n);
	k=sqrt(n);
	for(i=2;i<=k;i++)
	{
		if(n%i==0)
			break;
	}
	if(i<k)
		printf("该数不为素数");
	else
		printf("该数为素数");
	return 0;
}

运行结果如下:
在这里插入图片描述

例5.10求100~200的全部素数

# include <stdio.h>
# include <math.h>
int main()
{
	int k,i,n,m=0;
	for(n=100;n<=200;n++)
	{
		k=sqrt(n);
		for(i=2;i<=k;i++)
		{	if(n%i==0)
		break;}
		if(i>k)
		{printf("%d ",n);
		m=m+1;}
		if(m%10==0)
			printf("\n");
	}
	return 0;
}

运行结果如下:
在这里插入图片描述

例5.11译密码

# include <stdio.h>
int main()
{char c;
	c=getchar();
	while(c!='\n')
	{	if(c>='a'&&c<='z'||c>='A'&&c<='Z')
	{if(c>='w'&&c<='z'||c>='W'&&c<='Z')
	c=c-22;
	else
		c=c+4;
	}
	printf("%c",c);
	c=getchar();
	}
	printf("\n");
	return 0;

}

运行结果如下:
在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页