While语句

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//寻找1到100之间的奇数
/*int main()
{
    int i = 1;
    while(i <= 100)
    {
        if (i % 2 == 1)
            printf("%d\n", i);
        i++;

    }

    return 0;
}*/


/*int main()
{
    int i = 0;
    while (i < 10)//whlie 循环必须有大括号 i从0开始一直到9 9-0+1一共10次
    {
        printf("*");
        i++;
    }
    printf("\n");
    return 0;
}*/


//求1+3+5+7+..+n 直到n<1000 输出他们的和
/*int main()
{
    int i, sum;
    i = 1;
    sum = 0;
    while (i < 1000)// 和if一样 都没有;
    {
        sum += i;
        i = i + 2;
    }
    printf("sum=%d", sum);
}*/

/*  do-while 语句
* do
*   循环体
* while(表达式);
* do-whlie 语句至少执行1次 再看while表达式里面的逻辑值 也可能会无限循环下去
*而while 语句可能1次也不执行
*/


//Fibonacci数列  1 1 2 3 5 8 13 21...
// f1=1
// f2=1
// fn=f(n-1)+f(n-2)

/*int main()
{
    int f1, f2, f3, m;
    f1 = 1, f2 = 1;
    m = 2;
        do
        {
            f3 = f1 + f2; m++;
            f1 = f2;
            f2 = f3;
        } 
        while (f3 < 500);
        printf("再第%d个月的兔子的数量达到%d只\n", m, f3);
        return 0;
}*/


//for 语句
/*int main()
{
    int i;
    for (i = 0; i < 10; i++)//不需要大括号 之间用;隔开 
        printf("*");
    printf("\n");
    return 0;
}*/

// for 语句可以表达式省略,但是两个;不能省略                          
//如for( ; ;)printf("*"); 虽然省略 但是表达式的值永远为真所以会无限循环                           
//for后一对圆括号的表达式可以是任意有效的c语言表达式)
//例如(sum=0,i=1;i<100;sum+=i,i++;) 此时表达式1和表达式3的值都为逗号表达式


//由键盘输入一个正整数m,判断是否为素数
//对于i(2- m-1) m%i!=0 则可以判断是否为素数 i的取值范围可以缩小到2到根号下m来减少循环次数
//#include<math.h>//sqrt函数在这个头文件里
/*int main()
{
    int i, m,k;
    printf("请输入一个正整数m:");
        scanf("%d",& m);
        k = sqrt(m);//根号下m
        for (i = 2; i <= k; i++)//i从2刀根号下m逐渐增加
            if (m % i == 0) break;//如果有约数,就会跳出循环 此时i肯定大于等于k
        if (i > k)
            printf("%d是一个素数\n", m);
        else
            printf("%d不是一个素数\n", m);
        return 0;
}*/

//continue语句的作用是跳过本次循环体中余下未执行的语句,立即执行下一次的循环条件判定
/*int main()
{
    int i, sum = 0;
    for (i = 1; i < 10; i++)
    {
        if (i % 2 == 0)  continue;//if里得为真的话 跳过本次循环剩下的语句 重新进行循环条件的判断 可以看出这里直接把偶数去掉 把奇数留下
        sum += i;
    }
    printf("sum=%d\n", sum);
    return 0;//可以看出是求1到10中所有素数的和

}*/


//   *           0   空格:3-0    *号:2*0+1 
//  ***          1         3-1         2*1+1
// *****         2         3-2         2*2+1
//*******        3         3-3         2*3+1
//输出这样的图形 使用循环的嵌套

/*int main()
{
    int i, j, k;
    for (i = 0; i < 4; i++)//控制行数4
    {
        for (j = 0; j < 3 - i; j++)
            printf(" ");        //输出空格
        for (k = 0; k < 2 * i + 1; k++)
            printf("*");    //输出*
        printf("\n");//换行
    }
}*/


/*
有这样的一个数列: +2    -3   +5      -8       +13
                               ——  —— ——  ——  ——
                                   1     2    3         5          8        求这样数列的前20项之和 
观察发现 为一正一负      分母是上一个数的分子   分子还保持是上一个数分子分母之和这样的关系                    
*/
/*int main()
{
    int m, fuhao=1;//m用来控制前20个数的个数用于循环中 符号一开始为正1
    double fz = 2, fm = 1, sum = 0;
    for (m = 0; m < 20; m++)
    {
        sum = sum + fuhao * fz / fm;
        fz = fm + fz;  //分子还保持是上一个数分子分母之和这样的关系    
        fm = fz - fm;// fm+fz-fm=fz 这里的fz实际上就是上一个数的分母;
        fuhao = - fuhao;
    }
    printf("数列前20项之和为:%.2lf", sum);//.2lf 小数点保留后两位
    return 0;
}*/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值