C++课后习题训练记录Day43

1.练习项目:

输入一个整数 nn 个数字,然后按字典序升序输出这 n 个数字的所有全排列。

2.选择课程

在蓝桥云课中选择课程《16届蓝桥杯省赛无忧班(C&C++ 组)4期》,选择第一章中"竞赛常用库函数"课程8并开始练习。

3.开始练习

(1)源码:

#include<bits/stdc++.h>

using namespace std;

const int N = 10;

int a[N];

int n,i;

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

cin>>n;

for(i=0;i<n;i++){

cin>>a[i];

}

bool tag = true;

while(tag){

for(i=0;i<n;i++){

cout<<a[i]<<' ';

}

cout<<'\n';

tag=next_permutation(a,a+n);

}

for(i=0;i<n;i++){

cout<<a[i]<<' ';

}

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:bool是表示布尔值(逻辑值)的基本数据类型,只能有两个可能的值:真(true)或假(false); 利用bool定义tag控制while循环的结束:将next_permutation(a,a+n)赋值给tag,如果成功生成了下一个排列则返回true,如果当前已经是最后一个排列(无法再生成)则返回false;注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
想回家的一天5 小时前
ECONNREFUSED ::1:8000 前端代理问题
开发语言
cike_y5 小时前
Mybatis之解析配置优化
java·开发语言·tomcat·mybatis·安全开发
Jay_Franklin6 小时前
SRIM通过python计算dap
开发语言·python
Slow菜鸟6 小时前
Java基础架构设计(三)| 通用响应与异常处理(分布式应用通用方案)
java·开发语言
消失的旧时光-19436 小时前
401 自动刷新 Token 的完整架构设计(Dio 实战版)
开发语言·前端·javascript
wadesir6 小时前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
tap.AI7 小时前
RAG系列(二)数据准备与向量索引
开发语言·人工智能
阿蒙Amon7 小时前
C#每日面试题-重写和重载的区别
开发语言·c#
是一个Bug7 小时前
Java基础20道经典面试题(二)
java·开发语言
Z_Easen7 小时前
Spring 之元编程
java·开发语言