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


相关文章
|
7月前
|
JavaScript 编译器 API
【C++ 函数和过程 进阶篇】全面掌握C++函数返回值:从入门到精通的实战指南
【C++ 函数和过程 进阶篇】全面掌握C++函数返回值:从入门到精通的实战指南
209 1
|
C语言
24.【特殊函数篇==(十篇一章,持续更新~)】(二)
24.【特殊函数篇==(十篇一章,持续更新~)】
45 0
|
7月前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
85 1
|
7月前
|
索引
R语言易错点(持续更新中~~)
R语言易错点(持续更新中~~)
180 0
|
JavaScript 开发者
🚀Svelte原理和进阶看这篇就够了🚀2
🚀Svelte原理和进阶看这篇就够了🚀
|
缓存 JavaScript 算法
🚀Svelte原理和进阶看这篇就够了🚀1
🚀Svelte原理和进阶看这篇就够了🚀
|
存储 安全 编译器
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)(一)
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)
|
存储 编译器 Linux
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)(三)
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)
|
安全 编译器 C++
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)(二)
【C++系列(合集)】特性多又复杂?不存在!——这篇C++大全直接干碎(超级大全,精讲)
《算法笔记知识点记录》第三章——入门模拟(2)
《算法笔记知识点记录》第三章——入门模拟(2)
《算法笔记知识点记录》第三章——入门模拟(2)
下一篇
无影云桌面