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

简介: 项目1:分支结构程序设计体验  (1)阅读课件中“给两个数,求两数中的大者”例子,结合对课堂讲授内容的理解,仔细领会让计算机进行判断,然后根据不同情况进行处理的方法。  (2)我们要解决的问题如下,上机前在作业(草稿)本上编程完成下面的工作:  问题:给定两个正整数,求出两数的正差值并输出。  样例输入 样例输出  7 10 3  12 7 5  提示:“正差值”意味着无论这两数孰大孰小,输出

项目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;	
}

【结语】

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

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


目录
相关文章
|
10月前
|
存储 监控 算法
【C++ 软件设计思路】高效管理历史任务记录:内存与磁盘结合的策略解析
【C++ 软件设计思路】高效管理历史任务记录:内存与磁盘结合的策略解析
158 0
|
5月前
|
缓存 负载均衡 Java
c++写高性能的任务流线程池(万字详解!)
本文介绍了一种高性能的任务流线程池设计,涵盖多种优化机制。首先介绍了Work Steal机制,通过任务偷窃提高资源利用率。接着讨论了优先级任务,使不同优先级的任务得到合理调度。然后提出了缓存机制,通过环形缓存队列提升程序负载能力。Local Thread机制则通过预先创建线程减少创建和销毁线程的开销。Lock Free机制进一步减少了锁的竞争。容量动态调整机制根据任务负载动态调整线程数量。批量处理机制提高了任务处理效率。此外,还介绍了负载均衡、避免等待、预测优化、减少复制等策略。最后,任务组的设计便于管理和复用多任务。整体设计旨在提升线程池的性能和稳定性。
141 5
|
10月前
|
存储 算法 Java
【C/C++ 线程池设计思路】 深入探索线程池设计:任务历史记录的高效管理策略
【C/C++ 线程池设计思路】 深入探索线程池设计:任务历史记录的高效管理策略
213 0
|
10月前
|
安全 Java 调度
【C/C++ 线程池设计思路 】设计与实现支持优先级任务的C++线程池 简要介绍
【C/C++ 线程池设计思路 】设计与实现支持优先级任务的C++线程池 简要介绍
277 2
|
10月前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
288 2
|
10月前
|
网络协议 C++
C++异步网络库workflow入门教程(1)HTTP任务
创建任务方法原型 在workflow中所有的客户端任务都放在`WFTaskFactory`工厂类中 + `url:`请求的http url + `redirect_max:`表示最大重定向次数。如果在请求过程中遇到重定向,该参数指定了最多允许重定向的次数。 + `retry_max`:表示最大重试次数。如果请求失败,该参数指定了最多可以重试的次数。 + `callback`:这是一个回调函数的指针,用于处理请求的响应。原型为`using http_callback_t = std::function
312 0
|
Java C++
c++基于ThreadPool实现灵活的异步任务
c++基于ThreadPool实现灵活的异步任务
【C++11】C++多线程之条件变量,异步启动任务(1)
【C++11】C++多线程之条件变量,异步启动任务(1)
150 0
|
API C++ Windows
windows C++ 多任务并发执行设计
windows C++ 多任务并发执行设计
268 0
windows C++ 多任务并发执行设计
|
设计模式 C++ Windows
windows C++ 多任务并发执行设计
本文是windows C++ 多任务并发执行设计的详解。
435 0