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

项目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;		 
	else
		cout<<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的相反数-c
		c=-c;
	cout<<a<<" 和 "<<b<< " 之间的正差值是: "<<c<<"\n";
	return 0;	
}

【结语】

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

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


原文地址:https://www.cnblogs.com/hehe520/p/6142685.html