C语言 循环 之书上的小例题

1.实例4-16 使用while循环结构编程求1~100的和
#include <stdio.h>
int main()
{
	int i=1,sum=0; //在循环前给sum和i赋值
	while (i<=100)
	{
		sum=sum+i;
		i++;  //i=i+1应该与其等价
	}
	printf("1加到100的和为:%d\n",sum);
	return 0;
}

在这里插入图片描述

2.实例4-17从键盘接收一串字符,将其中的小写字母输入,并统计当前输入的总字符个数
#include <stdio.h>
int main()
{
	int i = 0;  //用于记录字符的个数
	char ch;
	while((ch=getchar())!='\n')  // \n为回车
	{
		if(ch>='a'&&ch<='z')
		     printf("%c",ch);
        i++;
    }
	printf("\n从键盘一共输入了%d个字符\n",i);
	return 0;
}

在这里插入图片描述
1.getchar()函数从键盘上读入一个字符,并显示该字符(回显)【敲什么键盘上就会显示什么】,但只有第一个字符作为函数的返回值
2.将getchar()放入while循环当中就可以实现缓冲区中多个字符的清除

3.实例4-18
#include <stdio.h>
int main()
{
	int n;
	printf("请输入一个整数 n:");
	scanf("%d",&n);
	while(n==0)
	{
		printf("输入错误,请重新输入:");
		scanf("%d",&n);
	 }
	 if(n>0)
	     printf("%d是一个正数\n",n);
     else
         printf("%d是一个负数\n",n);
	return 0;
}

在这里插入图片描述

4.实例4-19使用do…while循环结构编程求1~100的所有奇数的和

#include <stdio.h>
int main()
{
	int i=1,sum=0;
	do
	{
		sum+=i;
		i=i+2;
     }while(i<=100);
     printf("100以内的所有奇数的累加和为:%d\n",sum);
	 return 0;
}

在这里插入图片描述

5.实例4-21使用do…while循环,求Π的近似值,要求最后一项的绝对值小于10的负6
#include <stdio.h>
#include <math.h>  //要调用绝对值函数fabs()
int main()
{
    int sign=1;
    float i=1.0,sum=0.0;  
    float item =1;
    do
    {
        sum=sum+item;
        i=i+2;
        sign=-sign;  //保证一正一负
        item=1/i*sign;
    } while(fabs(1/i)>=1e-6);  //1e-6科学计数法
    printf("pi=%f\n",sum*4);  //printf,后面可以sum*4,study一下
    return 0;
}

在这里插入图片描述
C语言中fabs()函数是返回某一个值的绝对值的一个函数

6.实例4-23用for循环语句求1~100所有偶数的和
#include <stdio.h>
int main()
{
    int i,sum=0;
    for(i=2;i<=100;i+=2)
        sum+=i;
    printf("100以内的所有偶数的累加和为:%d\n",sum); 
    return 0;   
}

在这里插入图片描述

7.使用for循环语句求Fibonacci(斐波那契)数列:1,1,2,3,5,8,…的前40项,F1=1,F2=2,Fn=Fn-1+Fn-2(n>=3)
#include <stdio.h>
int main()
{
	int i,f1=1,f2=1;;  //定义循环变量i,用于控制循环的次数  定义变量f1,f2,分别表示数列的相邻两项
	for(i=1;i<=20;i++)  //每次求出数列中的两个数,故循环结构条件为i<=20
	{
		printf("%12d %12d",f1,f2);
		if(i%2==0)            //这个if语句大概是为了输出的结果好看
		    printf("\n");
        f1=f1+f2;
        f2=f2+f1;
     }
     return 0;
}

在这里插入图片描述
%md:m是指定的输出字段的宽度,如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出

8.实例4-25使用for语句编写求n!
#include <stdio.h>
int main()
{
	int n,i;
	int factorial=1;   
	printf("\n请输入一个整数n:\n");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	    factorial*=i;
	printf("\n%d!=%d\n",n,factorial); 
	return 0;
}

在这里插入图片描述

心得

笑死了,笔记写了一个实例就想来写心得
浅浅采纳一下某人的建议,写点小注释(主打一个try)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值