24.【特殊函数篇==(十篇一章,持续更新~)】(一)

简介: 24.【特殊函数篇==(十篇一章,持续更新~)】

特殊函数 (一直更新)

1.isprintf(s[i]);判断一个字符是否能输出

1.1代码展示:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
 string s = "12d1 2 ddsd";
 int d = 0;
 for (int i = 0; i<s.length(); i++)
 {
  if (s[i] != ' ' && isprint(s[i])) //判断不为空格 且能输出;
  {
   s[d++] = s[i];
  }
 }
 cout << "改变后的字符串是:" << endl;
 for (int i = 0; i < d; i++)
 {
  cout << s[i];
 }
}
1.2效果展示:

2.setw()函数的运用

2.1理论知识:

setw(int n)是c++中在输出操作中使用的字段宽度设置,设置输出的域宽,n表示字段宽度。只对紧接着的输出有效,紧接着的输出结束后又变回默认的域宽。

当后面紧跟着的输出字段长度小于n的时候,在该字段前面用空格补齐;当输出字段长度大于n时,全部整体输出。

2.2空格补齐型隔离(n>1)
代码展示:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int a[3] = {1,2,3};
    for (int i = 0; i < 3; i++)
    {
        cout << setw(2) << a[i];     //setw(n)
    }
    return 0;
}
效果展示:

2.3整体输出型 紧接(n<1)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
 int a[3] = {1,2,3};
 for (int i = 0; i < 3; i++)
 {
  cout << setw(0) << a[i];     //setw(n)
 }
 return 0;
}
效果展示:

2.4只对接着的有效
代码展示:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
 int a[3] = {1,2,3};
 for (int i = 0; i < 3; i++)
 {
  cout << setw(2) << a[i]<<4;
 }
 return 0;
}
效果展示:

3.setfill()补充填充

代码展示:
#include <iostream>
#include <string.h>
#include <iomanip>
using namespace std;
int main()
{
 string s = "123";
 cout << setw(5) << setfill('*') << s << endl; // 共设置5个空间,用不满的在前面加*,用不满的话不用
 return 0;
}
效果展示

4.sort()函数排序问题

4.1理论展示:

1.如果用sort进行排序,那么需要用头文件#include

2、sort模板含三个参数:

sort (begin,end,cmp)

参数begin:要排序数组的起始地址(第一个数据的地址)

参数end:最后一个数据的下一个数据的地址

参数cmp:若这个参数不写,默认为升序

4.2 默认不写(为升序)
代码展示
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
int main()
{
 int i;
 string s;
 cin >> s;
 sort(s.begin(), s.end()); 
 for (i = 0; i < s.length(); i++)
 {
  cout << s[i] << " ";
 }
 return 0;
}
效果展示:

4.3写了cmp依旧为升序:
代码展示
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
    {
        return a<b;     //或则在cmp函数里面写return a<b,也是升序
    }
int main()
{
    int a[]={6,5,8,4,3,2},i;
    sort(a,a+6,cmp);
    for(i=0;i<5;i++)
    {
        cout<<a[i]<<"    ";
    }
    return 0;
}


相关文章
|
11月前
|
C语言
24.【特殊函数篇==(十篇一章,持续更新~)】(二)
24.【特殊函数篇==(十篇一章,持续更新~)】
29 0
|
11月前
|
算法 C++ 容器
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(上)
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(上)
41 0
|
11月前
|
存储 算法 决策智能
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(下)
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(下)
70 0
|
3月前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
53 1
|
3月前
|
存储 人工智能 安全
面向企业的 ChatGPT 究极手册:第七章到第八章
面向企业的 ChatGPT 究极手册:第七章到第八章
125 0
面向企业的 ChatGPT 究极手册:第七章到第八章
|
8月前
|
Python
1轻松学python第一节到第五节
1轻松学python第一节到第五节
38 0
|
算法 容器
算法-蓝桥基础知识-持续更新中....
算法-蓝桥基础知识-持续更新中....
|
前端开发
带你读书之“红宝书”:第三章 语法基础(上)之 关键词后续
带你读书之“红宝书”:第三章 语法基础(上)之 关键词后续
88 0
带你读书之“红宝书”:第三章 语法基础(上)之 关键词后续
|
前端开发 测试技术
测试领域专业术语整理-持续更新
测试领域专业术语整理-持续更新
250 0
|
设计模式 Java 编译器
【Java编程思想读后整理(干货版)】第十章 接口
【Java编程思想读后整理(干货版)】第十章 接口