分支循环练习题

刷题总结:
 1.if语句中0表示假,非0表示真。
 2.if语句是一种分支语句,可以实现单分支,也可以实现多分支。
 3.switch语句中default子句可以放在任何位置。
 4.switch语句中case的表达式只能是整形常量表达式。
 5.switch语句中case表达式不要求顺序。
 6.switch语句中switch(c),c不可以是float类型。
 7.条件表达式执行次数总是比循环体的次数多一次
 例题:
 #include <stdio.h>
int main()
{
    int a=0;
    int b=0;
    for (a = 1,b=1; a <=100 ; a++)
    {
    if (b>=20)
        break;
    if (b%3==1)
        b+=3;
        continue;
    }
    b-=5;
    printf("%d\n",a);
    return 0;
}
b<20,不进入第一个if判断
进入第二个if判断,此时  a=1      b=1,b%3==1,b=b+3,此时b=4
continue在循环中,continue用于终止本次循环,也就是本次循环中continue后面的代码不会再次执行,而是直接跨转到判断部分,进行下一次循环入口判断

编写程序数一下1——100的所有整数中出现了多少含9的数字,并统计个数
#include <stdio.h>
int main()
{
    int i=0;
    int number=0;
    for (i = 1; i <=100 ; i++)
    {
        if (i%10==9 || i/10==9)
        {
            printf("%d ",i);
            number++;
        }
    }
    printf("\nnumber= %d",number);
    return 0;
}
//计算1/1-1/2+1/3-1/4+1/5-1/6...+1/99-1/100
第一种写法
#include <stdio.h>
int main()
{
    int i=0;
    double sum=0;
    for (int i = 1; i <=100 ; i++)
    {
                if (i%2==0)
                    sum=sum-1.0/i;
                else
                    sum=sum+1.0/i;
    }
    printf("%lf",sum);
    return 0;
}

 //计算1/1-1/2+1/3-1/4+1/5-1/6...+1/99-1/100
#include <stdio.h>
int main()
{
    int i=0;
    double sum=0;
    int flag=1;
    for (int i = 1; i <=100 ; i++)
    {
        sum=sum+flag*1.0/i;
        flag=-flag;//设立标记--得正  循环一次是整数下一次就是负数
    }
    printf("%lf",sum);
    return 0;
}

//判断十个整形数字最大的一个并打印出来
#include <stdio.h>
int main()
{
    int i=0;
    int arr[10]={-1,-2,-5,-4,-8,-7,-11,-77,88,-99};
    int max=0;
    for (i = 0; i < 10; i++)
    {
            if (arr[i]>max)
                max=arr[i];

    }
    printf("%d",max);
    return 0;
}

这种写法仅仅针对正数,正负混合,负数的话最大值等于0与计算十个数不符合,把最大值设为这组数里面的数,让他和其他的数字进行比较
#include <stdio.h>
int main()
{
    int i=0;
    int arr[10]={-1,-2,-5,-4,-8,-7,-11,-77,88,-99};
    int max=arr[0];//把最大值设为这组数里面的数,让他和其他的数字进行比较
    for (i = 0; i < 10; i++)
    {
            if (arr[i]>max)
                max=arr[i];

    }
    printf("%d",max);
    return 0;
}

 

//99乘法口诀表
#include <stdio.h>
int i=1;
int j=1;
int main()
{
    for (int i = 1; i <10 ; i++)
    {
        for (int j = 1; j <=i ; ++j)
        {
        printf("%d*%d=%d ",i,j,i*j);
        }
        printf("\n");
    }
    return 0;
}

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值