




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言实验5数组和字符串一. 一维数组的定义类型标识符 数组名整型常量表达式1.类型标识符可以是:int 、float、char、指针等各种2.数组名遵循命名规则(第一个为字母),在一个函数内,数组、变量名不能重名3.整型常量表达式说明数组元素个数,不能包含变量或者函数4.数组和变量可同时定义5.数组序号从零开始!例一:一维数组的引用:输出全部元素void main()int s10;int i;for(i=0; i=9; i+)si=i*i;for(i=0; i=9; i+)printf(%dn,si);例二:一组数组的初始化方法:/ 1. for(i=0 ;i=x; i+) scanf(%d,ai); / for循环赋值,手动输入/ 2. int a8=0,1,2,3,4,5,6,7; / 所有元素赋值/ 3. int a8=0,1,2,3,4; / 部分元素赋值,后面的元素自动附为零/ 4. int a=1,2,3,4,5; / 通过赋值来确定数组大小例三:一维数组程序设计举例:冒泡排序法( 从小到大 )void main()int a50,i,j,t,n; / i:第i个数据 j:第j趟比较 t:经典交换中的交换变量 n:数据个数printf(输入数据个数:n); / 经典的循环输入数组数据scanf(%d,&n);printf(请输入原始数据:n);for(i=0; in; i+)scanf(%d,&ai);for(j=1; j=n-1; j+) / 进行n-1次循环;for(i=0; iai+1)t=ai; / 经典的交换数据ai=ai+1;ai+1=t;printf(n);for(i=0; in; i+)= 经典的循环输出printf(%dn,ai);二、二维数组和多维数组定义形式: 类型标识符 数组名exp1(行)exp2(列);储存形式: 按行存储,第一行存完再继续存储第二行1. 二维数组元素的引用:经典void main()int i,j,a32;printf(请按行输入原始数据:n); / 经典的二维数组输入for(i=0; i3; i+)for(j=0; j2; j+)scanf(%d,&aij);for(i=0; i3; i+) / 经典的二位数组输出for(j=0; j2; j+)printf(na%d%d=%dn,i,j,aij);2. 二维数组的初始化:/ 1. int a34= 1,2,3,4, 5,6,7,8, 9,10,11,12 ; / 分行给二维数组赋初值/ 2. int a34= 1,2,3,4,5,6,7,8,9,10,11,12; / 不够的元素赋值为0/ 3. int a34= 1, 2, 3 ;/ = 1,0,0,0,2,0,0,0,3,0,0,0 ;等/ 4. int a4= 1,2,3,4,5,6,7,8,9 ; / 可省略行数,系统自动计算行数/ 5. int a3= 0,0,3, 0, 0,10 ; / 省略列数,但应分行赋值;3. 二维数组程序设计举例:求转置矩阵void main()int a23,b32,i,j;printf(按行输入原始数据:n);for(i=0; i=1; i+)for(j=0; j=2; j+)scanf(%d,&aij);for(i=0; i=1; i+)for(j=0; j=2; j+)bji=aij; / 转置矩阵的算法灵魂!for(i=0; i=2; i+)for(j=0; j=1; j+) / 先排列输出一行 再换行输出第二行。矩阵的经典输出!printf(%4d,bij);printf(n);三、字符数组与字符串1.字符数组的初始化:/ 1. char c10= p,r,o ;/ 2. char str= s,t,r,i ;/ 3. char ca5= a, b,b,c,c,c;/ 4. char c12=computer & C;错误,字符十二个,但是要给“0”预留空间,所以数组大小为13;/ 5. char ca35=a,bb,ccc; /2. 字符串的输入输出:void main()char str20;int i;printf(请输入字符串n); / 经典的字符串输入for(i=0; i=12; i+)scanf(%c,&stri);for(i=0; iexp2 返回正值;exp1void main()int k;char st115,st2=C Language;printf(请输入一个字符串:n);gets(st1);k=strcmp(st1,st2); / C语言不允许关系运算符比较两个数组的大小,/ if(st1=st2)是错误的;if(k=0) printf(st1=st2n);if(k0) printf(st1st2n);if(k0) printf(st1st2n);4.strlen(字符串)计算字符串的实际长度(不含字符结束的0),并作为返回值:void main()int k;char st80;printf(请输入一个字符串:n);gets(st);k=strlen(st);printf(字符串的长度为:%dn,k);四、字符数组程序设计举例:1. 从键盘输入若干字符串,存入二维数组,然后从小到大排序:void main()char a380,b80;int i,j;printf(请输入三个数组:n); / gets的经典算法for (i=0; i3; i+)gets(ai);for(i=0; ii; j-)if (strcmp(aj,aj-1)0) / 经典的两个字符比大小并交换的算法;类似于max;strcpy(b,aj);strcpy(aj,aj-1);strcpy(aj-1,b);for(i=0; i3; i+)puts(ai);2. 一个字符串的逆置:void main()char s60,ch;int m,j;printf(请输入一个字符串:n);gets(s);m=strlen(s)-1; / 在计算循环次数的时候经常使用!for (j=0; jm; j+,m-)= 交换对应项;ch=sj;sj=sm;sm=ch;printf(逆置的字符串为:%sn,s);3. 将一个数字字符串转换为一个整数:void main()char str80;long x=0;int i=0,n;printf(请输入一个数字字符串n);gets(str);n=strlen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 16784-2025工业产品售后服务总则
- GB/T 14805.11-2025行政、商业和运输业电子数据交换(EDIFACT)应用级语法规则(语法版本号:4,语法发布号:1)第11部分:ISO 9735版本3向版本4兼容的配置文件
- 2025年学前教育专业能力测评试题及答案
- 2025年医学专业基础知识考试试卷及答案
- 2025年小学数学教师资格考试真题及答案
- 2025年外语专业口语能力考核试卷及答案
- 2025年数字经济理论与实践能力考核试卷及答案
- 2025年企业财务管理基本理论测试题及答案
- 2025年气候变化与可再生能源战略师考试试题及答案
- 2025年旅游管理与市场开发知识测评试卷及答案
- 2024年度小学生科普知识竞赛题库附答案(共100题)
- 高教版2023年中职教科书《语文》(基础模块)上册教案全册
- 五年级下册语文作文范文1-8单元
- 广东省广州市2024年中考数学真题试卷(含答案)
- 2024年山东省青岛市中考数学试卷(附答案)
- 4《日月山川》(教学设计)2024-2025统编版语文一年级上册
- 2024年选拔乡镇副科级领导干部考试模拟试题及答案
- AQ 1044-2007 矿井密闭防灭火技术规范(正式版)
- 宁夏大附属中学2025届九年级数学第一学期期末联考模拟试题含解析
- 重庆市九龙坡区2023-2024学年六年级下学期期末数学试题
- 2024八年级数学下册专题突破第11讲正方形中的几个常用模型探究含解析新版浙教版
评论
0/150
提交评论