第五章 循环结构程序设计

例5.1求从1加到100

#include <stdio.h>
main()
{
int i,m=0;
for (i=1;i<=100;i++)
{m=m+i,
printf("%d\n",m);
}}

结果为;
在这里插入图片描述

例5.2用do while求从1加到100

#include <stdio.h>
int main()
{
	int i=1,sum=0;
	do
	{
		sum+=i;
	i++;
	}
	while(i<=100);
	while(i<=100)
	{
		sum+=i;
		i++;
	}
	for(i=1;i<=100;i++)
	{
		sum+=i;
	}
	printf("%d",sum);
	return 0;
}

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

例5.3while和do…while循环的比较

在这里插入图片描述

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

#include <stdio.h>
#define MAX 100000
 
int main()
{
	int i;
	float sum = 0;
	float ave,mei;
	for( i = 1; i <= 1000; i++)
	{
		printf("请输入要捐款的金额:");
		scanf("%f",&mei);
		sum = sum + mei;
		if(sum >= MAX)
			break;
	}
	ave = sum / i;
	printf("捐款人数:%d\n",i);
	printf("平均每人捐款:%f\n",ave);
	return 0;
}

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

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

#include "stdio.h"
#include "stdlib.h"
 
void func()
{
    int i;
    for ( i = 100; i <= 200; )
    {
        if ( i % 3 == 0 )
        {
            printf( "%d\n", i );
            i += 3;
        }
        else
        {
            i++;
        }
    }
}
 
int main( int argc, char *argv[] )
{
    func();
    return 0;
}

例5.6

在这里插入图片描述

例5.7用公式π/4=1-1/3+1/5-1/7+…求π的近似值,直到发现某一项的绝对值小于10^-6为止(该项不累加)

#include<stdio.h>
#include<math.h>
void main()
{
double s=0,pi,t,d,c;
double i,n,j=1; //这里都修改为double
for(i=2,n=1;fabs(1/n)>pow(10,-6);i++,n+=2)
s=s+pow(-1,i)*j/n; //否者这里是整形的除法,会对结果取整
printf("%lf\n",s); //由于s是double,所以应该用%lf
printf("pi=%lf\n",pi=s*4);
}

例5.8

在这里插入图片描述
在这里插入图片描述

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

#include <stdio.h>
int main()
{
    int n, i;
    //输入数字
    printf("Please enter number: ");
    scanf("%d", &n);
    //判断数字是否大于3
    for (; n <= 3; printf("Please enter number: "), scanf("%d", &n));
    //判断数字是否是素数
    for (i = 2; i < n; i++)
        if (!(n%i)) break;
    n==i ? printf("%d is prime number!\n", n) : printf("%d is not prime number!\n", n);
    return 0;
}

例5.10求100到200的全部素数

# include <stdio.h>
main()
{
int i,z,s=1;
for(i=101;i<=200;i=i+1)
{
s=1;//这里的S需要初始化,因为你一次循环后S都为0了
for(z=2;z<i;z++)
{if(i%z==0)
{s=0;
break;}
}
if(s!=0)
printf("%d ",i);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值