c++练习题

news2024/9/26 3:20:38

1、默认参数练习

创建默认参数函数 void stars(int cols ,int rows ) 该函数默认缺省值cols是10 rows是1。该函数完成功能是根据行和列数显示一个由星号组成的矩形。在main函数仲按照默认值调用该函数。按照cols是5调用该函数。按照列数和行数是7,3 调用该函数

#include<iostream>
using namespace std;

void stars(int cols=10,int rows=1);
int main()
{
	stars();
	cout<<endl; 
	stars(5);
	cout<<endl; 
	stars(7,3);
	cout<<endl; 
	
}
void stars(int cols,int rows)
{
	for(int i=0;i<rows;i++)
	{
		for(int j=0;j<cols;j++)
		{
			cout<<'*';
		}	
			cout<<endl;	
	}
 } 

在这里插入图片描述

2、函数的重载练习

double calcWeeklyPay ( int , double ) ; //计算计时员工的周薪,周薪=工作时数* 单位小时工资,参数是工作时数*单位小时工资
double calcWeeklyPay ( double ) ;//计算员工的周薪,参数为年薪。周薪=年薪/52 返回周薪
  输入界面如下:如果输入的不是H S h s要提示重复输入。根据输入的字符选择上面不同的函数调用

#include<iostream>
using namespace std;

double calcWeeklyPay(int hours,double money);
double cacWeeklyPay(double years);
int main()
{
	char a; 
	int hours;
	double money,years;
	
	cout<<"请选择计算工资的方式"<<endl;
	cout<<"(H)计算计时的工资"<<endl;
	cout<<"(S)计算员工的工资"<<endl;
	cout<<"请输入H或S"<<endl;
	cin>>a;
	while(!(a=='H'||a=='h'||a=='S'||a=='s'))
	{
		cout<<"输入错误继续输入"<<endl; 
		cin>>a;
	} 
	
	if(a=='H'||a=='h')
	{
		cout<<"请输入工作时数和单位小时工资"<<endl;	
		cin>>hours>>money;	
		cout<<calcWeeklyPay(hours,money);	
	}
	if(a=='S'||a=='s')
	{
		cout<<"请输入年薪"<<endl;	
		cin>>years;	
		cout<<cacWeeklyPay(years);
	 } 
}
double calcWeeklyPay(int hours,double money)
{
	return hours*money;
}
double cacWeeklyPay(double years)
{
	return years/52.0;
}

在这里插入图片描述

3、函数模板练习一

template  < 类型参数表 >
        返回值类型  函数名 ( 形式参数表 )
        {
            // 函数体
        } 
例如:
template  < class  T >
        T  square ( T  number ) 
        {    
	  return  number * number ;
        } 
例如:
template  < class   T1 , class   T2>
        void   swap ( T1   &var1 , T2   &var2 ) 
        {  	T1  temp ;
           	temp = var1 ;
           	var1 = ( T1 ) var2 ;
           	var2 = ( T2 ) temp ;
        } 

   利用函数模板定义void swaps 参数是不确定数据类型的两个变量。 完成功能是交换两个变量的值。
  在main函数中输入两个字符型变量,调用swaps完成交换,输出变量值;输入两个整数类型变量,调用swaps完成交换,输出变量值;输入两个浮点数变量,调用swaps完成交换,输出变量值;

#include<iostream>
using namespace std;

template<class T>
void swaps(T &x,T &y)
{
	T t;
	t=x;
	x=y;
	y=t;
}
int main()
{
	char x,y;
	cin>>x>>y;
	swaps(x,y);
	cout<<x<<" "<<y<<endl;	
	int a,b;
	cin>>a>>b;
	swaps(a,b);
	cout<<a<<" "<<b<<endl;
	double c,d;
	cin>>c>>d;
	swaps(c,d);
	cout<<c<<" "<<d;
}

在这里插入图片描述

  这个函数模板中的表示该函数模板有一个类型参数T,在函数实例化时可以指定具体的类型。在函数体中,我们可以使用T作为一种类型来定义变量、进行类型转换等操作。这样就可以实现一个可以处理多种数据类型的通用函数。
  另外,使用template定义的函数模板也可以改写为template,两者在语法上是等价的。class和typename都可以用来定义模板类型参数,但是在模板定义中通常使用typename,在模板的模板参数中使用class

4、函数模板练习二

  创建函数模板sum 可以计算不同类型的两个参数的和,返回两者之和; 创建函数模板sum 可以计算三个同类型参数的和,返回值为三者之和。
  在main函数中输入 一个字符一个整数 运算两者之和;输入一个整数一个实数,运算两个之和。输入三个实数运算之和

#include<iostream>
using namespace std;

template <class T1,class T2>
T1 sum(T1 a,T2 b)
{
	return a+b;
}
template <class T>
T sum(T a,T b,T c)
{
	return a+b+c;
}

int main()
{
	int x;
	char y;
	double z,a,b;
	cout<<"输入 一个字符一个整数"<<endl; 
	cin>>y>>x;
	cout<<sum(y,x)<<endl;
	cout<<"输入一个整数一个实数"<<endl; 
	cin>>x>>z;
	cout<<sum(x,z)<<endl;
	cout<<"输入 三个实数"<<endl; 
	cin>>z>>a>>b;
	cout<<sum(z,a,b)<<endl;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/497745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MMdetection训练及使用脚本系列】MMdetection训练1——如何保存最优的checkpoint文件

MMdetection如何保存最优的checkpoint文件 以目标检测为例&#xff0c;进入到 configs/_base_/datasets/coco_detection.py将evaluation dict(interval1, metricbbox)改为evaluation dict(interval1, metricbbox, save_bestauto)即可。 但是不建议这样做&#xff0c;防止以…

软件设计师笔记--数据结构

文章目录 前言学习资料数据结构大 O 表示法时间复杂度线性结构和线性表线性表的顺序存储线性表的链式存储栈的顺序存储栈的链式存储队列的顺序存储与循环队列 串KMP 数组矩阵树二叉树二叉树的顺序存储结构二叉树的链式存储结构二叉树的遍历平衡二叉树二叉排序树最优二叉树(哈夫…

C/C++每日一练(20230507) 数列第n项值I/II、简化路径

目录 1. 求数列的第n项的值 ※ 2. 求数列的第n项的值 II ※ 3. 简化路径 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 求数列的第n项的值 已知数列…

摘要:PostgreSQL开发技术基础:过程与函数

原文地址 6.0 Language SQL与PL/pgSQL PL / PgSQL是基于SQL的特定于PostgreSQL的过程语言 。它有循环&#xff0c;variables&#xff0c;错误/exception处理等等。并不是所有的SQL都是有效的PL / PgSQL&#xff0c;正如你发现的那样&#xff0c;例如&#xff0c;你不能在没有…

Nature:时松海课题组揭示调控大脑新皮层神经元空间精细结构排布和环路组装的新机制

2022年12月7日&#xff0c;清华大学生命科学学院、清华-IDG/麦戈文脑科学研究院、生命科学联合中心、生物结构前沿研究中心时松海教授课题组在Nature杂志以长文的形式在线发表了题为“Patterned cPCDH expression regulates the fine organization of the neocortex”&#xff…

Python心经(2)

有关数字类型&#xff0c;字符串&#xff0c;函数 目录 有关数字类型&#xff0c;字符串&#xff0c;函数 数字 字符串 索引操作 切片操作 单个字符编码 运算符 还有一些常用的内置函数 Python输入函数 输出函数print()语法 python的函数也能给默认值 Python是个脚…

什么是事件驱动的微服务架构?

对于许多关键应用程序功能&#xff0c;包括流媒体和电子商务&#xff0c;单体架构已不再足够。随着实时事件数据和云服务使用的需求增加&#xff0c;许多现代应用程序&#xff0c;如Netflix和Lyft&#xff0c;已经转向了事件驱动的微服务方法。分离的微服务可以独立运行&#x…

体外诊断(IVD)高速发展

体外诊断&#xff08;IVD&#xff09;实际一直是临床的重要组成部分。体外诊断&#xff0c;是指通过对人体样本(血液、体液、组织等)进行检测而获取临床诊断信息&#xff0c;进而判断疾病或机体功能的产品和服务&#xff0c;其检测原理和方法涉及免疫学、微生物学、分子生物学等…

Cursor设置中文版 以及简单实用教程集成 GPT4 的代码神器 Cursor

官网&#xff1a;cursor.so 快捷键 ctrl K&#xff0c; 中英文提交需求&#xff0c;&#xff08;刚开始我整蹩脚的英语&#xff0c;后来发现支持中文&#xff09; 自动写代码 自动补充代码 自己修改代码 自动检查、完善代码 自己本地测试 然后再重复上面操作直到能用 最后让它…

ZooKeeper知识回顾(分布式协调框架,本质是分布式小文件存储系统,以分布式集群部署)

Apache ZooKeeperhttps://zookeeper.apache.org/官网为: 名字.apache.org 1.zookeep概念 一个团队里面&#xff0c;需要一个leader&#xff0c;leader是干嘛用的&#xff1f; &#xff08;分布式协调框架&#xff09; 1.管理什么的咱不说。 2.外面的人&#xff0c;想…

AI大神吴恩达与OpenAI官方合作推出的ChatGPT提示工程课,到底在讲什么?

ChatGPT提示工程课程&#xff0c;吴恩达&OpenAI 概述 本课程将着重介绍指令调优LM的开发最佳实践&#xff0c;以帮助开发人员利用LM技术构建聊天机器人等应用程序。 亮点 &#x1f4da; LM可用于快速构建软件应用程序&#xff0c;API可以使开发人员非常快速地构建。&#x…

怎么压缩照片到20k?

怎么压缩照片到20k&#xff1f;如今&#xff0c;手机摄影已经成为我们生活的一部分&#xff0c;我们经常使用手机拍照记录美好瞬间。但是&#xff0c;随着手机拍照像素的不断提高&#xff0c;照片的文件大小也越来越大&#xff0c;这使得手机的存储空间不够用&#xff0c;甚至在…

Vue核心 收集表单数据 过滤器

1.14. 收集表单数据 收集表单数据: 若: &#xff0c;则v-model收集的是value值&#xff0c;用户输入的就是value值。若: &#xff0c;则v-model收集的是value值&#xff0c;且要给标签配置value值。若: 没有配置input的value属性&#xff0c;那么收集的就是checked(勾选 or 未…

weblogic ssrf 漏洞复现

一.前言 Weblogic中存在一个SSRF漏洞&#xff0c;利用该漏洞可以发送任意HTTP请求&#xff0c;进而攻击内网中redis、fastcgi等脆弱组件。 二.环境搭建 在docker中开启环境 sudo docker-compose up -d sudo docker-compose ps #查看状态访问http://your-ip:7001/uddiexpl…

【C++】虚函数表 多态的原理 动态绑定和静态绑定

梳理虚函数表、多态原理、动静态绑定的知识 目录 一、虚函数表 二、多态的原理 三、动态绑定和静态绑定 一、虚函数表 在学习多态原理之前&#xff0c;我们需要了解一下虚函数表的概念 我们先一起来看下下面这段代码 // 这里常考一道笔试题&#xff1a;sizeof(Base)是多…

Centos7设置yum源

为什么要修改yum源呢&#xff1f; 因为默认的yum源下载速度很慢&#xff0c;所以我们需要修改yum源。我是用的阿里云的yum源 环境 虚拟机&#xff1a;VirtualBox 7.0.4 操作系统&#xff1a;CentOS 7 x86_64 查看默认的yum源 cd /etc/yum.repos.d将列出的所有默认yum源复…

unity愤怒的小鸟学习制作(一)

基础知识已经差不多了&#xff0c;现在开始模仿敲代码然后在模仿中熟悉软件和语法 视频链接和素材如下&#xff1a;视频 目录 第一部分&#xff1a;游戏逻辑1、新建2D工程2、创建三个场景3、导入游戏需要的资源4、开始编辑02-game4.1 裁切图片4.2 初步编辑4.3 实现小鸟的拖拽4…

【源码分析】从源码层面深度剖析Redisson实现分布式锁的原理

快速入门 引入redisson依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.0</version> </dependency>编写测试代码 public class RedissonTest {private static RedissonC…

SubMain GhostDoc Enterprise v2022 Crack

GhostDoc 是一个 Visual Studio 扩展&#xff0c;适用于需要使用可自定义模板从源代码生成 XML 注释、维护干净和最新文档、生成多种格式的帮助文档、在 Visual Studio 中使用智能源代码拼写检查器等的开发人员. GhostDoc 还有助于自动生成干净、有用的干净代码文档&#xff0c…

scratch统计距离学校远近 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch统计距离学校远近 一、题目要求 1、准备工作 2、功能实现 二、案例分析