2014秋C++第8周项目1参考-分段函数求值

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833

课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。

【项目1:分段函数求值】

编程序,计算下面函数的值并输出(x取整型即可)


参考解答:

//解法1
#include <iostream>
using namespace std;
int main( )
{
    int x, y;
    cin>>x;
    if (x>=1)
        y=x-1;
    else
        y=-x+1;
    cout<<y<<endl;
    return 0;
}

  上面的程序,第8行-第11行用一个完整的双分支求值,之后再输出。先求解,再输出,这一“顺序”求解的思路很清晰。

   相对而言,下面的程序刚求解出来就急着输入,反倒是没有解法1清晰了。从另外一个角度,两个分支中,都是在求值后执行相同的操作(输出y),不如将这一条公共语句提出到分支的后面。再要注意的是,因为操作不能够由一条语句完成,将相关的语句用花括号组成复合语句成为必须。

//解法2
#include <iostream>
using namespace std;
int main( )
{
    int x, y;
    cin>>x;
    if (x>=1)
    {
        y=x-1;
        cout<<y<<endl;
    }
    else
    {
        y=-x+1;
        cout<<y<<endl;
    }
    return 0;
}

 

=================== 迂者 贺利坚 CSDN博客专栏=================
|== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==|
|== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
|== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====
时间: 2024-09-15 06:36:37

2014秋C++第8周项目1参考-分段函数求值的相关文章

C++第9周项目1参考——分段函数求值

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目1:分段函数求值]从键盘输入x的值(要求为实型),根据以下公式计算并输出x和y 的值.  要求采用两种解法完成,解法1用if-else语句,解法2主体用switch语句(注意到分段的关键点处,x的值均是偶数,这是可以利用的条件). 提示:在这个公式中,x<0是非法的输入,程序中应该做出处理.测试要求:运行至少5次程序,测试程序在所有可能的执行流程中,是否存在错误的处

2014秋C++第16周 项目3参考 用函数指针调用函数

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目3-用函数指针调用函数] 将下面的程序补充完整(包括定义函数),使其能够完成图示的功能.请使用已有程序的风格. void eat(); void sleep(); void hitdoudou(); void run(void (*f)()); int main() { int iCh

2014秋C++第8周项目3参考-多分段函数求值

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833. 课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.   [项目3:多分段函数求值] 从键盘输入x的值(要求为实型),根据下面的公式计算并输出y的值.  (1)请用if~else~语句的嵌套,实现这个多分支的程序: 参考解

2014秋C++第11周项目5参考-当年第几天

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目5-当年第几天]定义一个函数,其参数为年.月.日的值,返回这一天为该年的第几天.要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果. int days(int y, int m, int d); int main() { int year, month,

2014秋C++第11周项目6参考-回文、素数

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目6-回文.素数](1)编制一个函数reverse,返回给定数据的"反序数",例如输入1234,输出4321.请编制reverse函数,在下面代码的基础上补充相关的部分,实现要求的功能. int main() { int m,n; cin>>m; n=re

2014秋C++第13周项目3参考-成绩处理函数版

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目3 - 成绩处理函数版]项目2的另一种实现.输入.求最大/小值等所有功能都通过自定义函数完成.这种设计貌似比项目2麻烦,但其结构有更多的优点,尤其是当程序的规模更大时.通过这个项目,学会将数组名用作函数的参数.下面建议的自定义函数的声明和main()函数,你需要定义这些函数,并且加上必

2014秋C++第5周项目3参考-简单分支问题体验

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833. 课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看. [项目3-简单分支问题体验]至少选择(1)-(3)中的一个完成体验,小组共同完成(4) 阅读课件中"给两个数,求两数中的大者"例子(见课件),结合对

2014秋C++第8周项目2参考-加班费

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833. 课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.   [项目2:加班费,要不要?] 小贺刚上班,按工作时间小时制领取周工资,工资标准是,每小时rate元RMB.每周工作时间40小时,如果要加班,超出部分按正常工资的1.

2014秋C++第14周项目5参考-体会棋盘游戏

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看.  [项目5-体会棋盘游戏中的数据存储]定义一个8行8列的二维数组a[8][8].(1)为二维数组中的数据赋50以内的随机数(程序模板中setdata()函数已经完成,利用产生随机数的系统函数实现),可能的取值如图所示:(2)设计函数out()按行输出二维数组中的数据:(3)设计函数outDia