(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第11讲 字符串

2024-04-23
| 20页
| 260人阅读
| 2人下载
普通

内容正文:

学科竞赛编程 教研研究院 C++ NOIP NOI IOI 1 读一读 写一写 字符数组 字符型数组定义: char a[5]; 表示定义字符型数组a,有a[0]-a[4] 5个可用的空间 字符型数组初始化: char a[5]={‘a’,’b’,’c’,’d’,’e’}; 字符数组是存储字符型数据的数组。 字符串 用双引号括起来的0个或多个字符组成的序列,比如: 1. 字符串常量的定义: 2. 字符串结尾的标志: 在内存中存储的形式,以‘\0’结束,例如,将字符串hellow存储到数组中: 3. 字符串的定义和初始化: 4.字符串的输入 (1)不含空格的输入 使用for循环输入 cin>>数组名; (2)含空格的输入 gets(数组名); 5.字符串的输出 使用for循环输出 cout<<数组名; 输入自己的基本信息试一下吧! 输入你的姓名,性别,年龄和成绩,并输出确认一下吧 puts(数组名); 案例1 输入一个字符串(可包含空格)统计组成字符串各类型的个数,并输出所有特殊字符。 [样例输入] abSD F12¥#% v [样例输出] ¥ # % 大写:3 小写:3 数字:2 空格:2 案例1 分析 第一步:定义字符数组存放字符串,定义四个变量分别来统计大写 ,小写,数字和空格四种类型的个数,并输入字符串。 char a[20]; int d=0,x=0,s=0,k=0,i=0; gets(a); 第二步:在组成字符不为结尾标志\0的情况下进行循环判断,每个字符属于是什么类型, 则该类型统计+1 while(a[i]!='\0') { if(a[i]>='A' && a[i]<='Z') d++; else if(a[i]>='a' && a[i]<='z') x++; else if(a[i]>='0' && a[i]<='9') s++; else if(a[i]==' ') k++; else cout<<a[i]<<" "; i++; } 第三步: 输出各类型的个数 cout<<"大写:"<<d<<endl<<"小写:"<<x<<endl<<"数字:"<<s<<endl<<"空格:"<<k; 案例1 完整代码 #include<iostream> using namespace std; int main() { char a[20]; int d=0,x=0,s=0,k=0,i=0; gets(a); while(a[i]!='\0') { if(a[i]>='A' && a[i]<='Z') d++; else if(a[i]>='a' && a[i]<='z') x++; else if(a[i]>='0' && a[i]<='9') s++; else if(a[i]==' ') k++; else cout<<a[i]<<" "; i++; } cout<<"大写:"<<d<<endl<<"小写:"<<x<<endl<<"数字:"<<s<<endl<<"空格:"<<k; return 0; } 字符串专用的处理函数 1. strlen() 函数 【作用】用于计算字符串的长度(不含\0) 【格式】strlen(字符数组名); 案例: 输入一串内容(长度不超过108 ),反向输出。 [样例输入]12345 [样例输出]54321 案例分析: 第一步:定义一个字符型数组a ,用来存储输入的字符串,声明两个整型变暈n和i,分别表示字符串的长度和循环变量,输入字符串,存储到字符型数组a当中; char a[101]; int n,i;c in >> a; 第二步:使用strlen( )求出字符串的长度,赋值给n ,注意使用strlen( )函数需要在程序开头 包含头文件#include<cstring>; n=strlen(a); 第三步:使用for循环从数组a中最后-个元素开始,遍历数组中所有的元素,依次输出。 for(i=n-1; i>=0; i--) { cout << a[i]; } 2.strcat( )函数 【作用】将b字符串连接到a字符串的后面 (因此a字符串要足够大) 【格式】strcat(a, b) 【用法】 #include <iostream> #include <cstring> using

资源预览图

(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第11讲 字符串
1
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第11讲 字符串
2
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第11讲 字符串
3
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第11讲 字符串
4
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第11讲 字符串
5
(贵州省普通高中信息学奥赛CSP-JS NOIP—入门组C++知识点讲解)第11讲 字符串
6
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。