目录

​​​

一、利润计算

解题思路:

方法一代码如下:

代码理解:

方法二代码如下:

代码理解:

两种解法比较:

优点:

缺点:

二、成绩评定

解题思路:

方法一代码如下:

代码理解:

方法二代码如下:

代码理解:

一、利润计算

解题思路:

  1. 用判断语句 if () else if () else
  2. 用switch函数 switch(){case 1: //命令 break; default: //命令}

方法一代码如下:

#include <stdio.h>
int main()
{double a,p;scanf("%lf",&a);if (a>=0 && a<=100000)p=a*0.1;else if(a>100000 && a<=200000)p=100000*0.1+(a-100000)*0.075;    else if(a>200000 && a<=400000)p=100000*0.175+(a-200000)*0.05;else if(a>400000 && a<=600000)p=100000*0.175+200000*0.05+(a-400000)*0.03;else if(a>600000 && a<=1000000)p=100000*0.175+200000*0.05+200000*0.03+(a-600000)*0.015;elsep=100000*0.175+200000*0.05+200000*0.03+400000*0.015+(a-1000000)*0.01;printf("%.0lf\n",p);return 0;
}

代码理解:

首先可以根据题意判断出像分段函数一样来进行分类,这时就可以运用“if 、else if、else”结构,这样就可以将情况分开计算,剩下就是简单的输入输出函数,将所需对应的值进行打印出来。

方法二代码如下:

#include<stdio.h>
int main()
{int a,p;scanf("%d",&a);switch(a/100000){case 0:p=a*0.1;break;case 1:p=100000*0.1+(a-100000)*0.075;break;case 2:case 3:p=100000*0.1+100000*0.075+(a-200000)*0.05;break;case 4:case 5:p=100000*0.1+100000*0.075+200000*0.05+(a-400000)*0.03;break;case 6:case 7:case 8:case 9:p=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(a-600000)*0.015;default:p=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(a-1000000)*0.01;}printf("%d",p);return 0;
}

代码理解:

运用了switch分支语句,这样我们应该先对输入值进行判断一下属于“case 几”然后直接输入很短的数字即可,可以节省时间以及便于理解。我们可以对于非常大的基数来进行预处理一下,就比如我都是先除十万然后再进行属于哪种情况,最后也是一样的输入输出函数,打印所需值。

两种解法比较:

第一种方法

     优点:更加通俗易懂,可以直接进行分类,再进行表达式的运行

     缺点:数字较大,容易造成用户输入错误,编写代码时也更加麻烦。

第二种方法

     优点:

更加快捷简便,对于输入数值方面都更加的方便

     缺点:

运用不好容易出错,有可能会导致整个程序都错误,应该熟练运用break等

二、成绩评定 

解题思路:

仍是类似分段函数样式,只不过是符合某个条件就直接进行下面字母的打印,所以只需要写出“if 、else if、else”结构和printf打印函数即可

方法一代码如下:

#include<stdio.h>int main()
{int a; scanf_s("%d", &a); if (a >= 90)  if (a <= 100)  printf("A\n");if (a >= 80)if (a <= 89)printf("B\n");if (a >= 70)if (a <= 79) printf("C\n"); if (a >= 60) if (a <= 69)printf("D\n");if (a < 60) printf("E\n");return 0;
}

代码理解:

对于输入不同数值,让系统通过if语句来判断执行哪个语句,两个if语句是我第一次做这个程序时候用的,可以使用&&来省略一下,使代码变得更加简化,更加直观。

方法二代码如下:

#include<stdio.h>
int main()
{int a;scanf("%d",&a); switch(a/10){case 10:case 9:putchar('A');break;case 8:putchar('B');break;case 7:putchar('C');break;case 6:putchar('D');break;default:putchar('E');      }
}

代码理解:

和上一道题原理基本相似,通过满分百分的分数除以十通过判断结果所在范围,从而确定分数所在范围,进而打印相应的等级。

【暑假自学C语言】 --8 练习题详解(分段函数)相关推荐

  1. python函数练习题详解_Python练习题详解之函数3(小白友好)

    Python练习题详解之函数3(小白友好) 你好!欢迎来到Python练习题详解系列.为了让小白(也就是我本人)更好的理解代码,打好编程基础,我决定仔细地解说一些练习题.欢迎阅读!奥利给! 题目1 编 ...

  2. C语言-基础练习题详解

    目录 前言 一.模拟用户登录情景 1.要求 2.代码 二.求两数的最大公约数 1.方法简介 2.代码 三.打印闰年 1.要求与概念 2.代码 四.打印100-200之间的素数 1.方法与概念 2.代码 ...

  3. (转)C语言位运算详解

    地址:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html C语言位运算详解 作者:911 说明:本文参考了http://www2.ts ...

  4. R语言基础知识详解及概括

    R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建

  5. python语言的格式框架_django框架模板语言使用方法详解

    本文实例讲述了django框架模板语言使用方法.分享给大家供大家参考,具体如下: 模板功能 作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑.模板不仅仅是一个html文件,还包括了页 ...

  6. C语言再学习 -- 详解C++/C 面试题 2

    (经典)C语言测试:想成为嵌入式程序员应知道的0x10个基本问题. 参看:嵌入式程序员面试问题集锦 1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define ...

  7. python自动解析json_Python语言解析JSON详解

    本文主要向大家介绍了Python语言解析JSON详解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. JSON 函数使用 JSON 函数需要导入 json 库:import jso ...

  8. c语言4 答案详解,2019考研数据结构C语言版详解答案(4)

    <数据结构(C语言版)>复习重点在二.三.六.七.九.十章,考试内容两大类:概念,算法,自从计算机专业课统考以后,专业课考试题型分为2类,一类选择题,一类综合应用题.本次新东方在线整理了数 ...

  9. 计算机科学类专升本复习之“C语言结构体”详解(初稿)

    C语言结构体详解,C语言struct用法详解 前面所学到的"数组":它是一组具有"相同类型"的数据的集合. 但是在实际的编程中,我们往往还需要 一组" ...

最新文章

  1. 在SQL Server 20005中修改存储过程
  2. 改变进程的优先级,nice,getpriority,setpriority
  3. LeetCode_111.二叉树的最小深度
  4. irms模拟数据生成及数据分析
  5. 使用electron脚手架electron-vue
  6. 了解Entity Framework中事务处理
  7. python的变量对大小写并不敏感_Python编程基础02:Python基本语法
  8. PyCharm 中选中一个变量/函数后,所有用到这个变量/函数的地方高亮显示,改配色方案
  9. 高性能服务器中的C10K问题
  10. Ubuntu Server Download
  11. matlab中fft定点运算,可用于嵌入式计算的定点FFT算法 (转载)
  12. 2021年第十二届蓝桥杯javaB组真题及部分答案
  13. 声纹识别之Alize入门教程(四):matlab代码读取Spro工具提取的mfcc特征
  14. iOS之加载Gif图片
  15. 毕业论文写作与学术规范
  16. 网站死链接检测以及死链接的处理方式
  17. linux下RTNETLINK answers: File exists的解决方案 慎重
  18. Xilinx GTX/GTH时钟篇(7系列)
  19. 3步实现 华为云服务器IPV4-> IPV6改造方法
  20. There is a problem with this Windows Installer package 卸载软件提示

热门文章

  1. 计算机原材料有哪些在制品区,知识丨WIP
  2. 《快速念咒——MySQL自学入门指南》:七嘴八舌聊SQL——什么是数据库?
  3. Azido-PLA/PCL,Azide-PEG-多肽Angiopep-2,叠氮化PLA聚合物
  4. IP归属地批量查询软件
  5. 申请发明专利为何同时申请实用新型专利
  6. 云客Drupal源码分析之系统AJAX(二):前端原理
  7. AltiumDesigner10设计不规则PCB形状
  8. NN模型设置--网络整体结构设计
  9. 【求助】Windows安全中心弹窗如何关闭
  10. python画人脸编程怎么写_Python 40行代码实现人脸识别功能