实验二:选择结构

实验题目1:

编写程序,计算购货款。请输入购货金额,输出实际付款金额。

购货折扣率如下:

购货金额<=500元         不打折

500元<购货金额<=1000元  9折

1000元<购货金额         8折

分别用if语句、switch语句编程。

设计思想:

获取购货金额b,通过if语句改变a的值,从而改变switch语句中的

选择,从而打折

实验代码及注释:

#include<stdio.h>

int main()

{

    int a = 0;

    float b = 0.0;

    scanf("%f", &b);

    if (b <= 500)

    {

        a = 0;

    }

    else if (b <= 1000)

    {

        a = 1;

    }

    else

    {

        a = 2;

    }

    switch (a)

    {

    case(0):

    {

        printf("%f\n", b);

        break;

    }

    case(1):

    {

        printf("%f\n", b * 0.9);

        break;

    }

    case(2):

    {

        printf("%f\n", b * 0.8);

        break;

    }

    }

    return 0;

}

验证与结论:

没有bug。

总结与心得体会:

金额嘛,用浮点数获取,毕竟int乘以float得到的还是float。

实验题目2:

输入4个整数,求其前两个数中较小的数与后两个数中较大的数之和。

设计思想:比较后运算

实验代码及注释:

#include<stdio.h>

int main()

{

    int arr1[4] = { 0 };

    for (int i = 0; i < 4; i++)

    {

        scanf("%d", &arr1[i]);

    }

    int a = arr1[0] >= arr1[1] ? arr1[1] : arr1[0];

    int b = arr1[2] >= arr1[3] ? arr1[2] : arr1[3];

    int c = a + b;

    printf("%d\n", c);

    return 0;

}

验证与结论:又穷测试通过

总结与心得体会:easy

实验题目3:

输入8个整数,求其中所有偶数的和。

设计思想:判断加运算

实验代码及注释:

#include<stdio.h>

int main()

{

    int arr[8] = { 0 };

    int sum = 0;

    for (int i = 0; i < 8; i++)

    {

        scanf("%d", &arr[i]);

        if (arr[i] % 2 == 0)

        {

             sum += arr[i];

        }

    }

    printf("%d\n", sum);

    return 0;

}

验证与结论:又穷测试正确

总结与心得体会:easy

实验题目4:

输入10个整数,输出其中的最大值和最小值。

设计思想:比大小

实验代码及注释:

#include<stdio.h>

int main()

{

    int arr[10] = { 0 };

    int min = 0, max = 0;

    for (int i = 0; i < 10; i++)

    {

        scanf("%d", &arr[i]);

    }

    min = arr[0];

    max = arr[0];

    for (int i = 1; i < 10; i++)

    {

        if (max < arr[i])

        {

             max = arr[i];

        }

        if (min > arr[i])

        {

             min = arr[i];

        }

    }

    printf("最大值:%d\n最小值:%d\n", max, min);

    return 0;

}

验证与结论:又穷测试正确

总结与心得体会:easy

实验题目5:

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃

了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃

了前一天剩下的一半多一个。到第10天早上想再吃时,发现只剩下一个桃子了。

求第一天共摘了多少个桃子。

设计思想:

用递归求解。

实验代码及注释:

#include<stdio.h>

int main()

{

    int qiu(int);

    printf("%d\n",qiu(1));

    return 0;

}

int qiu(int a)

{

    if (a == 10)

    {

        return 1;

    }

    else

    {

        return ((qiu(a + 1) + 1) * 2);

    }

}

验证与结论:

结果为1534,人工计算正确。

总结与心得体会:

return了,不一定显示在屏幕上。

最后申明,请勿直接抄袭
  • 19
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值