C++第7周任务1-求两数正差值

来源:互联网 发布:苹果相机软件 编辑:程序博客网 时间:2024/05/22 03:19

项目1:分支结构程序设计体验

  (1)阅读课件中“给两个数,求两数中的大者”例子,结合对课堂讲授内容的理解,仔细领会让计算机进行判断,然后根据不同情况进行处理的方法。
  (2)我们要解决的问题如下,上机前在作业(草稿)本上编程完成下面的工作:
  问题:给定两个正整数,求出两数的正差值并输出。
  样例输入 样例输出
  7 10 3
  12 7 5
  提示:“正差值”意味着无论这两数孰大孰小,输出的差值为非负数。可以自行加入些“请输入……”,“……是:”之类的提示,让你的程序有“友好”的用户界面。

  (3)发表博文作为上机报告,建议标题:第7周任务1-求两数正差值。


【参考解答】

  由于重在提前体验,要考察的是同学们的模仿能力。在读懂课堂上所讲程序,以及掌握思路的情况下,即使对语法的要求不甚明了,也能“照猫画虎”地做出来。

  与课堂中使用的“给两个数,求两数中的大者”例子相对应,给出几种解法供同学们参考。

  切记参考要点:

if (任务能够完成)读参考解答,并和自己的做法进行对照;else读完参考解答,关闭页面,独立编写自己的程序;


  解答一:根据比较结果,直接输出大值减小值的差

#include <iostream>using namespace std;int main( ){int a,b;cout<<"请输入a、b的值:"; cin>>a>>b;cout<<a<<" 和 "<<b<< " 之间的正差值是: ";if(a>b)cout<<a-b; elsecout<<b-a; cout<<"\n";return 0;}

  解答二:用另一个变量,记录下大值减小值的结果后再输出

#include <iostream>using namespace std;int main( ){int a,b,c;cout<<"请输入a、b的值:"; cin>>a>>b;if(a>b)c=a-b; else c=b-a;cout<<a<<" 和 "<<b<< " 之间的正差值是: "<<c<<"\n";return 0;}

  解答三:先通过交换,保证a>=b后,输出a-b

#include <iostream>using namespace std;int main( ){int a,b,t;cout<<"请输入a、b的值:"; cin>>a>>b;if(a<b) //如果a<b,交换a、b的值,使a≥b成立{t=a;a=b;b=t;}cout<<a<<" 和 "<<b<< " 之间的正差值是: "<<a-b<<"\n";return 0;}

  解答四:先算出两数的差,如果是负值,求出其相反数并输出

#include <iostream>using namespace std;int main( ){int a,b,c;cout<<"请输入a、b的值:"; cin>>a>>b;c=a-b;if(c<0) //如果这个差值是负的,c赋值为c的相反数-cc=-c;cout<<a<<" 和 "<<b<< " 之间的正差值是: "<<c<<"\n";return 0;}

【结语】

  同一任务,可以有不同解法,不同程序员会写出不同程序。

  先有思路,程序自然写出。


原创粉丝点击