【嵙大o】C++作业合集

news2025/5/23 20:00:32

参考:

C++ swap(交换)函数 指针/引用/C++自带-CSDN博客

Problem IDTitle
CPP指针CPP引用1107 Problem A编写函数:Swap (I) (Append Code)
1158 Problem B整型数据的输出格式
1163 Problem C时间:24小时制转12小时制
1205 Problem D应该付多少钱?
1280 Problem E默认参数:求圆面积
1281 Problem F类的初体验
1639 Problem G重载函数min()
2265 Problem H函数重载:求面积
2277 Problem IC++的初体验
2278 Problem Jstring的初体验

Problem A: 编写函数:Swap (I) (Append Code)

Time Limit: 1 Sec  Memory Limit: 16 MB
Submit: 21275  Solved: 13326
[Submit][Status]

Description

编写用来交换两个数的函数,使得“Append Code”中的main()函数能正确运行。


用C实现三个函数int_swap()、dbl_swap()、SWAP(),其中SWAP()是个带参宏。

用C++实现两个函数,都以Swap()命名。

以上函数的调用格式见“Append Code”。这里不给出函数原型,它们的参数请通过main()函数自行确定。

Input

输入为4行,每行2个数。

Output

输出为4行,每行2个数。每行输出的两数为每行输入的逆序。

Sample Input

12 57 9 -3 -12 4 3 5

Sample Output

57 12 -3 9 4 -12 5 3

HINT

“Append Code”中用到的头文件、全局变量或宏的定义应自行补充。

Append Code

int main()
{
    int x1, y1;
      
    cin>>x1>>y1;
    Swap(&x1, &y1);
    cout<<x1<<" "<<y1<<endl;
      
    cin>>x1>>y1;
    Swap(x1, y1);
    cout<<x1<<" "<<y1<<endl;
  
    double x2, y2;
      
    cin>>x2>>y2;
    Swap(&x2, &y2);
    cout<<x2<<" "<<y2<<endl;
      
    cin>>x2>>y2;
    Swap(x2, y2);
    cout<<x2<<" "<<y2<<endl;
}

#include <iostream>
using namespace std;
//指针
void Swap(int* a, int* b)
{
    int t;
    t = *a;
    *a = *b;
    *b = t;
}
//引用
void Swap(int& a, int& b)
{
    int t;
    t = a;
    a = b;
    b = t;
}
 
void Swap(double* a, double* b)
{
    double t;
    t = *a;
    *a = *b;
    *b = t;
}
//引用
void Swap(double &a, double &b)
{
    double t;
    t = a;
    a = b;
    b = t;
}

Problem B: 整型数据的输出格式

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 25730  Solved: 11500
[Submit][Status]

Description

输入2个整数,按照指定的格式输出这两个数。

Input

两个整数0<=a,b<=1000。a与b之间用一个空格隔开。

Output

输出有3行,第一行是:“Octal Decimal Hexadecimal”,每个单词之间用空格隔开。第二行和第三行分别是输入的两个整数a、b的八进制数、十进制数和十六进制数。输出时,每个数字左对齐,且八进制、十进制和十六进制数据分别与第一行中的字母O、D、H对齐。

Sample Input

13 456

Sample Output

Octal Decimal Hexadecimal 15 13 d 710 456 1c8

HINT

注意printf的格式控制符的使用,如何控制每个数据输出的位宽以及对齐方式?

Append Code

 

Problem C: 时间:24小时制转12小时制

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 16619  Solved: 5663
[Submit][Status]

Description

编写一个程序,把输入的24小时制的时间,转换12小时制的格式输出。

12小时制没有0点时段,是以数字12、1、2、3、4、5、6、7、8、9、10、11依次序表示每个时段的。

正午是“12:00 p.m.”,也就是24小时制的中午12点;

24小时制的12:00~12:59,是12小时制的12:00 p.m.~12:59 p.m.;

24小时制的13:00~23:59是十二小时制的1:00 p.m.~11:59 p.m.。

午夜是“12:00 a.m.”,也就是24小时制的0点,或者24点;

24小时制的00:00~00:59,是12小时制的12:00 a.m.~12:59 a.m.;

24小时制的1:00~11:59是十二小时制的1:00 a.m.~11:59 a.m.。

Input

输入为一行。输入为24小时制的小时和分,都占满2个字符的位置,用“:”分隔。范围是00:00~23:59。

Output

输出为12小时制的小时和分,都占满2个字符的位置,用“:”分隔,一个空格后跟“a.m.”(午前)或“p.m.”(午后)。

Sample Input

21:05

Sample Output

09:05 p.m.

HINT

Append Code


#include <iostream>
using namespace std;
#include <iomanip>

int main()
{
	int a, b;
	char c;
	cin >> a >> c >> b;//如何输入中间有个字符的两个整数

	//占满两个字符(记得前补0)
	int m;
	int n;
	char s1[] = " a.m.";
	char s2[] = " p.m.";
	char s[5];
	if(a==24 && b==00)
	{
		m = 12;
		n = 00;
		cout << setfill('0') << setw(2) << m << ':' << setfill('0') << setw(2) << n << s1 << endl;
	}
	else if (a==00)
	{
		m = 12;
		n = b;
		cout << setfill('0') << setw(2) << m << ':' << setfill('0') << setw(2) << n << s1 << endl;
	}
	else if (a >= 01 && a <= 11)
	{
		m = a;
		n = b;
		cout << setfill('0') << setw(2) << m << ':' << setfill('0') << setw(2) << n << s1 << endl;
	}
	else if (a == 12)
	{
		m = a;
		n = b;
		cout << setfill('0') << setw(2) << m << ':' << setfill('0') << setw(2) << n << s2 << endl;
	}
	else if(a >= 13 && a <= 23)
	{
		m = a - 12;
		n = b;
		cout << setfill('0') << setw(2) << m << ':' << setfill('0') << setw(2) << n << s2 << endl;
	}
	return 0;
}

Problem D: 应该付多少钱?

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 7799  Solved: 4246
[Submit][Status]

Description

周末,Tom、Mary、Jack一家三口去逛商场,每人都选购了一些物品。现在,他们推着购物车来到了收银台,你需要编程给出他们需要付多少钱。

Input

输入为多行,每行输入与一件商品对应:第一个实数是该商品的单价,第二个实数是该商品的数量。

Output

所购商品的总价。输出结果精确到分。

Sample Input

25.33 15.3 33.54 22.11 12.12 36.37

Sample Output

1569.92

HINT

 需要输出所有的小数吗?

Append Code

#include <iostream>
using namespace std;
#include <iomanip>
#include <signal.h>
int main()
{
	double a, b;
	double sum=0.0;
	while (cin >> a >> b)
	{
		sum += a * b;
	}
	cout << fixed << setprecision(2) << sum << endl;
	return 0;
}

Problem E: 默认参数:求圆面积

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 8782  Solved: 6983
[Submit][Status]

Description

编写一个带默认值的函数,用于求圆面积。其原型为:

double area(double r=1.0);

当调用函数时指定参数r,则求半径为r的圆的面积;否则求半径为1的圆面积。

其中,PI取值3.14。

Input

一个实数,是圆的半径。

Output

输出有2行。第一行是以输入数值为半径的圆面积,第二行是半径为1的圆面积。

Sample Input

19

Sample Output

1133.54 3.14

HINT

Append Code

int main()
{
    double r;
    cin>>r;
    cout<<area(r)<<endl;
    cout<<area()<<endl;
    return 0;
}

Problem F: 类的初体验

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1226  Solved: 859
[Submit][Status]

Description

编写一个People类,有如下成员:

class People

{

private:

int age;//年龄

char sex;//性别,用F表示女,M表示男。

public:

void setAge(int a);//设置年龄

void setSex(char b);//设置性别

void printInfo();//显示信息

};

printInfo显示个人信息的格式为:

age:?,sex:?

其中第一个?处用实际年龄代替,第二个?处用实际性别代替。

Input

输入两个人的年龄和性别。

Output

按照题目描述中printInfo输出信息的格式,分别输出两个人的信息,每个人的信息占一行。

Sample Input

12 M 24 F

Sample Output

age:12,sex:M age:24,sex:F

HINT

Append Code

int main()
{
    People Tom, Mary;
    int ageTom,ageMary;
    char sexTom,sexMary;
    cin>>ageTom>>sexTom;
    cin>>ageMary>>sexMary;
    Tom.setAge(ageTom);
    Mary.setAge(ageMary);
    Tom.setSex(sexTom);
    Mary.setSex(sexMary);
    Tom.printInfo();
    Mary.printInfo();
    return 0;
}


#include <iostream>
using namespace std;
#include <iomanip>
#include <signal.h>
#include <string>



class People
{
private:
    int age;//年龄
    char sex;//性别,用F表示女,M表示男。
public:
    void setAge(int a)
    {
        age = a;
    }//设置年龄
    void setSex(char b)//设置性别
    {
        sex = b;
    }
    void printInfo() {
            cout << "age:" << age << ",sex:" << sex << endl;
    }
};

Problem G: 重载函数min()

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 522  Solved: 288
[Submit][Status]

Description

编写重载函数min(),计算int、double类型数组中的最小数。

Input

输入相应数组元素

Output

输出对应数组元素的最小数

Sample Input

5 4 3 2 1 88.5 56.2 8.6 1.5 94.6

Sample Output

int min is:1 double min is:1.5

HINT

Append Code

int main()
{
    int a[5];
    double b[5];
    for (int i = 0; i < 5; i++)
            cin >> a[i];
     
    cout << "int min is:" << min(a) << endl;
    for (int i = 0; i < 5; i++)
        cin >>b[i];
    cout << "double min is:"<< min(b)<<endl;
    return 0;
 
}
#include <iostream>
using namespace std;
#include <iomanip>
#include <signal.h>



int min(int arr[])
{
   
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5 - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    return arr[0];

}
double min(double arr[])
{

    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5 - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                double t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    return arr[0];

}

Problem H: 函数重载:求面积

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 863  Solved: 645
[Submit][Status]

Description

编写两个名为area的函数,它们是重载函数 ,用于求圆的面积和长方形的面积。它们的原型分别是:

double area(double r);

double area(double a,double b);

返回值分别是圆的面积和长方形的面积。

Input

输入两行,第一行是一个double型的实数,表示圆的半径;第二行是两个double型的实数,表示长方形的长和宽。

Output

输出2个数,每个数占一行。第一个数表示圆的面积,第二个数表示长方形的面积。

Sample Input

1.2 1.2 3.4

Sample Output

4.5216 4.08

HINT

Append Code

int main()
{
    double r,x,y;
    cin>>r;
    cin>>x>>y;
    cout<<area(r)<<endl;
    cout<<area(x,y)<<endl;
}
#include <iostream>
using namespace std;
#include <iomanip>
#include <signal.h>

#define pi 3.14
double area(double r)
{
    return pi * r * r;
}

double area(double a, double b)
{
    return a * b;
}

Problem I: C++的初体验

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1576  Solved: 841
[Submit][Status]

Description

通过cin,cout进行C++程序的输入和输出

Input

1.输入一个整数a
2.输入一个浮点数b
3.输入一个长整型数c
4.输入一个整数d

Output

第一行输出整数a
第二行输出浮点数b,保留小数点后7位
第三行输出长整型数c
第四行输出整数d,宽度为16,右对齐

Sample Input

1 2.323 2314213435435543 213

Sample Output

1 2.3230000 2314213435435543 213

HINT

Append Code


#include <iostream>
using namespace std;
#include <iomanip>
#include <signal.h>

#define pi 3.14

int main()
{
	int a;
	double b;
	long long c;
	int d;
	cin >> a >> b >> c >> d;
	cout << a << endl;
	cout << fixed << setprecision(7) << b << endl;
	cout << c << endl;
	cout << right << setw(16) << d << endl;


	return 0;
}

Problem J: string的初体验

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 2449  Solved: 708
[Submit][Status]

Description

练习string

Input

两个字符串 s1,s2 10<=|S1|,|S2|<=10000;

Output

第一行输出s1和s2的拼接字符串,即s1+s2

第二行输出s1,s2两者中字典序较小者

第三行输出s1的从头开始长度为4的子串

Sample Input

abcdesad dsadsad

Sample Output

abcdesaddsadsad abcdesad abcd

HINT

Append Code


#include <iostream>
using namespace std;
#include <iomanip>
#include <signal.h>
#include <string>

int main()
{
	string s1, s2;
	//当输入的字符串包含空格时,cin >>无法正确读取整个字符串。
	// 应改用getline来读取整行输入。
	getline(cin, s1);
	getline(cin, s2);
	string s3 = s1;
	s3 += s2;
	cout << s3 << endl;

	if (s1.compare(s2) >= 0)
		cout << s2 << endl;
	else
		cout << s1 << endl;

	cout << s1.substr(0, 4) << endl;

	return 0;
}

CPP Getline

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

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

相关文章

C++23 范围迭代器作为非范围算法的输入 (P2408R5)

文章目录 一、引言二、C23及范围迭代器的背景知识2.1 C23概述2.2 范围迭代器的概念 三、P2408R5提案的内容3.1 提案背景3.2 提案内容 四、范围迭代器作为非范围算法输入的优势4.1 代码简洁性4.2 提高开发效率4.3 更好的兼容性 五、具体的代码示例5.1 使用范围迭代器进行并行计算…

2025.05.20【Treemap】树图数据可视化技巧

Multi-level treemap How to build a treemap with group and subgroups. Customization Customize treemap labels, borders, color palette and more 文章目录 Multi-level treemapCustomization Treemap 数据可视化技巧什么是 TreemapTreemap 的应用场景如何在 R 中绘制 T…

深入了解Springboot框架的启动流程

目录 1、介绍 2、执行流程 1、运行run方法 2、初始化SpringApplication对象 1、确定容器类型 3、加载所有的初始化器 4、加载Spring上下文监听器 5、设置程序运行的主类 3、进入run方法 1、开启计时器 2、Headless模式配置 3、获取并启用监听器 4、准备环境 1、设…

LLaMA-Factory微调LLM-Research/Llama-3.2-3B-Instruct模型

1、GPU环境 nvidia-smi 2、pyhton环境安装 git clone https://github.com/hiyouga/LLaMA-Factory.git conda create -n llama_factory python3.10 conda activate llama_factory cd LLaMA-Factory pip install -e .[torch,metrics] 3、微调模型下载&#xff08;LLM-Research/…

3.8.1 利用RDD实现词频统计

在本次实战中&#xff0c;我们通过Spark的RDD实现了词频统计功能。首先&#xff0c;准备了包含单词的文件并上传至HDFS。接着&#xff0c;采用交互式方式逐步完成词频统计&#xff0c;包括创建RDD、单词拆分、映射为二元组、按键归约以及排序等操作。此外&#xff0c;还通过创建…

Spring Ioc和Aop,Aop的原理和实现案例,JoinPoint,@Aspect,@Before,@AfterReturning

DAY25.2 Java核心基础 Spring两大核心&#xff1a;Ioc和Aop IOC Ioc容器&#xff1a;装载bean的容器&#xff0c;自动创建bean 三种方式&#xff1a; 1、基于xml配置&#xff1a;通过在xml里面配置bean&#xff0c;然后通过反射机制创建bean&#xff0c;存入进Ioc容器中 …

[解决conda创建新的虚拟环境没用python的问题]

问题复现 使用conda create -n env的时候&#xff0c;在对应的虚拟环境的文件里面找不到对应的python文件 为什么 首先&#xff0c;我们来看一下创建环境时的触发链路&#xff1a; 这表明当前环境中找不到Python可执行文件。 解决方法 所以很明显&#xff0c;我们需要指定…

【C++】控制台小游戏

移动&#xff1a;W向上&#xff0c;S上下&#xff0c;A向左&#xff0c;D向右 程序代码&#xff1a; #include <iostream> #include <conio.h> #include <windows.h> using namespace std;bool gameOver; const int width 20; const int height 17; int …

配合本专栏前端文章对应的后端文章——从模拟到展示:一步步搭建传感器数据交互系统

对应文章&#xff1a;进一步完善前端框架搭建及vue-konva依赖的使用&#xff08;Vscode&#xff09;-CSDN博客 目录 一、后端开发 1.模拟传感器数据 2.前端页面呈现数据后端互通 2.1更新模拟传感器数据程序&#xff08;多次请求&#xff09; 2.2&#x1f9e9; 功能目标 …

springboot IOC

springboot IOC IoC Inversion of Control Inversion 反转 依赖注入 DI &#xff08;dependency injection &#xff09; dependency 依赖 injection 注入 Qualifier 预选赛 一文带你快速理解JavaWeb中分层解耦的思想及其实现&#xff0c;理解 IOC和 DI https://zhuanlan.…

Ajax01-基础

一、AJAX 1.AJAX概念 使浏览器的XMLHttpRequest对象与服务器通信 浏览器网页中&#xff0c;使用 AJAX技术&#xff08;XHR对象&#xff09;发起获取省份列表数据的请求&#xff0c;服务器代码响应准备好的省份列表数据给前端&#xff0c;前端拿到数据数组以后&#xff0c;展…

生成树协议(STP)配置详解:避免网络环路的最佳实践

生成树协议&#xff08;STP&#xff09;配置详解&#xff1a;避免网络环路的最佳实践 生成树协议&#xff08;STP&#xff09;配置详解&#xff1a;避免网络环路的最佳实践一、STP基本原理二、STP 配置示例&#xff08;华为交换机&#xff09;1. 启用生成树协议2. 配置根桥3. 查…

面向 C 语言项目的系统化重构实战指南

摘要: 在实际开发中,C 语言项目往往随着功能演进逐渐变得混乱:目录不清、宏滥用、冗余代码、耦合高、测试少……面对这样的“技术债积累”,盲目大刀阔斧只会带来更多混乱。本文结合 C 语言的特点,从项目评估、目录规划、宏与内联、接口封装、冗余剔除、测试与 CI、迭代重构…

Python Pandas库简介及常见用法

Python Pandas库简介及常见用法 一、 Pandas简介1. 简介2. 主要特点&#xff08;一&#xff09;强大的数据结构&#xff08;二&#xff09;灵活的数据操作&#xff08;三&#xff09;时间序列分析支持&#xff08;四&#xff09;与其他库的兼容性 3.应用场景&#xff08;一&…

第十六届蓝桥杯复盘

文章目录 1.数位倍数2.IPv63.变换数组4.最大数字5.小说6.01串7.甘蔗8.原料采购 省赛过去一段时间了&#xff0c;现在复盘下&#xff0c;省赛报完名后一直没准备所以没打算参赛&#xff0c;直到比赛前两天才决定参加&#xff0c;赛前两天匆匆忙忙下载安装了比赛要用的编译器ecli…

【已解决】HBuilder X编辑器在外接显示器或者4K显示器怎么界面变的好小问题

触发方式&#xff1a;主要涉及DPI缩放问题&#xff0c;可能在电脑息屏有概率触发 修复方式&#xff1a; 1.先关掉软件直接更改屏幕缩放&#xff0c;然后打开软件&#xff0c;再关掉软件恢复原来的缩放&#xff0c;再打开软件就好了 2.(不推荐&#xff09;右键HBuilder在属性里…

直线型绝对值位移传感器:精准测量的科技利刃

在科技飞速发展的今天&#xff0c;精确测量成为了众多领域不可或缺的关键环节。无论是工业自动化生产线上的精细操作&#xff0c;还是航空航天领域中对零部件位移的严苛把控&#xff0c;亦或是科研实验中对微小位移变化的精准捕捉&#xff0c;都离不开一款高性能的测量设备——…

Ansible模块——管理100台Linux的最佳实践

使用 Ansible 管理 100 台 Linux 服务器时&#xff0c;推荐遵循以下 最佳实践&#xff0c;以提升可维护性、可扩展性和安全性。以下内容结合实战经验进行总结&#xff0c;适用于中大型环境&#xff08;如 100 台服务器&#xff09;&#xff1a; 一、基础架构设计 1. 分组与分层…

从0开始学习大模型--Day09--langchain初步使用实战

众所周知&#xff0c;一味地学习知识&#xff0c;所学的东西和概念都是空中楼阁&#xff0c;大部分情况下&#xff0c;实战都是很有必要的&#xff0c;今天就通过微调langchain来更深刻地理解它。 中间如何进入到langchain界面请参考结尾视频链接。 首先&#xff0c;进入界面…

C++中的菱形继承问题

假设有一个问题&#xff0c;类似于鸭子这样的动物有很多种&#xff0c;如企鹅和鱿鱼&#xff0c;它们也可能会有一些共同的特性。例如&#xff0c;我们可以有一个叫做 AquaticBird &#xff08;涉禽&#xff0c;水鸟的一类&#xff09;的类&#xff0c;它又继承自 Animal 和 Sw…