选择语句和循环语句的使用

最近给学生布置了几道作业,题如下:
这里写图片描述
题目很简单,但对初学者还是需要注意一些细节问题。
我们首先看第一题:
1.用循环语句实现1-1000中所有偶数的和
看到题目,我们需要分析和理解题意,它要求1-1000中所有偶数的和,那偶数是哪些呢?2,4,6,8,…,1000都是偶数,那我们怎么判断它是不是偶数呢?
我们可以用一个if语句实现,如下:

if(a%2==0)  //只要a对2取余为0,就能证明它是一个偶数
{
sum = sum+a;//求和操作
}

这样的思考,我们就把代码简单的写一下,代码如下:

#include <stdio.h>

void main()
{
    int a = 0;      //变量的声明
    int sum = 0;

    for(a=1; a<=1000; a++)
    {
        if(0 == a%2)    // 判断是不是偶数
        {
            sum = sum+a;  // 若是偶数则进行累加操作
        }
    }
    printf("偶数的总和为:%d\n",sum);
}

结果为:
这里写图片描述

第二题:
2.求下列试子的值:1+1/2+1/3+1/4+……+1/99+1/100,将结果输出。
根据这个题意,我们需要分析一下怎么去完成该作业
首先,它要求求分数和,这样我们就能知道,它是一个浮点数,定义变量类型时需要定义成float型
其次,1-100的分数怎么求,我们可以用循环来实现,这时,我只需要定义一个变量为int型就可以了
最后,需要注意的是,int,float混合运算的时候,我们都知道肯定会转成double型的,所以结果没问题。

下面是我写的代码,代码如下:

#include <stdio.h>

void main()
{
    int a = 0;
    float sum = 0.0;  // 变量的声明

    for(a=1; a<=100; a++)  // 循环遍历
    {
        sum= sum + 1.0/a;  // 进行分数累加和,但因为1.0是实型,所以结果就会转成实型数据
    }

    printf("分数和为:%f\n",sum);  // 注意,这里的输出形式需要时%f的形式进行输出
}

结果为:
这里写图片描述

这样,我就把这题代码简单的写完了

最后一题:
3.企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分, 可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按 1%提成,从键盘输入当月利润I,求应发放奖金总数?
我们根据题意分析代码应该怎么实现呢?
首先需要注意,变量类型的选择,因为这里有小数部分,所以我们要用float去定义变量
其次,需要选择什么样的方法来实现,根据题意,我们可以使用if语句或switch语句实现
最后,完成代码编写,写之前最好能画出它的流程框图,这样便于自己去理解。

我用if语句实现的代码为:

#include <stdio.h>

void main()
{
    float profit;       // 利润声明
    float  bonus;       // 奖金

    printf("请输入利润:");
    scanf("%f",&profit);

    if(profit <= 10) // 利润低于或等于10万时
    {
        bonus = profit*0.1;
    }
    else if(profit > 10 && profit <= 20)// 利润10-20之间
    {
        bonus = (profit-10)*0.075 + 10*0.1; // 奖金的计算
    }
    else if(profit > 20 && profit <= 40)// 利润20-40之间
    {
        bonus = (profit-20)*0.05 + 10*0.1+ 10*0.075;// 奖金的计算
    }
    else if(profit > 40 && profit <= 60)// 利润40-60之间
    {
        bonus = (profit-40)*0.03 + 10*0.1+ 10*0.075 + 20*0.05;// 奖金的计算
    }
    else if(profit > 60 && profit <= 100)// 利润60-100之间
    {
        bonus = (profit-60)*0.015 + 10*0.1+ 10*0.075 + 20*0.05 + 20*0.03;// 奖金的计算
    }
    else if(profit > 100 )// 利润100以上
    {
        bonus = (profit-100)*0.01 + 10*0.1+ 10*0.075 + 20*0.05 + 20*0.03 + 40*0.015;// 奖金的计算
    }

    printf("奖金总额为:%f\n",bonus);

}

这样,我就把代码写完了,输入一个利润,输出的结果为:

这里写图片描述

这样三道题就被完成了,大家可以参考一下,有问题及时指出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小材大用

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值