C语言利用数组处理数据.ppt_第1页
C语言利用数组处理数据.ppt_第2页
C语言利用数组处理数据.ppt_第3页
C语言利用数组处理数据.ppt_第4页
C语言利用数组处理数据.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章 利用数组 处理批量数据 数学科学学院:汪小平 2/31 一维数组概述 n C语言简单变量无法表示下标,当要表示数学中一 系列数:a0,a1,a2,an时,就无能为力,如果用单 个变量表示,很难简便的表达算法。 #include int main() int i,a1,a2,a3,sum=0; scanf(“%d%d%d“, for(i=1;i int main() int i,a3,sum=0; scanf(“%d%d%d“, for(i=0;i int main() int i; char a10; for(i=0;i=0;i-) printf(“%c“,ai); return 0; 6/31 一维数组的初始化 n 三种数组的初始化非常相似。数组在定义时就可以 初始化元素,格式为: 数组类型 数组名常量表达式=对应类型元素列表 例如:int a4=1,2,3,4; n 数组元素如果没有初始化,其值是不定的。 n 初始化规则有下面几条: v 列表元素个数可以少于数组元素个数,这时剩下元 素初始化为0(字符类型相当于0)。切记不能多于定 义的元素个数,否则编译会报错 例:int a10=0; 7/31 一维数组的初始化 v 利用初始化,也可以不定义数组长度,通过初值列 表确定元素的个数。 例:char ch=C,h,i,n,a; 8/31 一维数组应用举例 例1 输出以下的杨辉三角形(要求为12行) 9/31 一维数组应用举例 #include #define N 12 int main(void) int i,j; int aN=1;/第一个元素为1,其余元素为0 printf(“%-5dn“,a0); for(i=1;i0;j-) aj+=aj-1; for(j=0;j int main(void) int k,i=0; unsigned kk; char ch32=0; scanf(“%d“, kk=k; /直接传送,转化为无符号数 do chi=kk%2; kk=kk/2; i+; while(kk!=0); for(i=31;i=0;i-) printf(“%d“,chi); return 0; scanf (“%d“, 12/31 一维数组应用举例 例3 输入10个数,进行排序,升序输出。 分析:排序方法很多,简单的有:直接插入排序、 冒泡法、简单选择排序。这里用简单选择排序。 13/31 一维数组应用举例 #define N 10 #include int main(void) int i,j,k,t,aN; for(i=0;i int main(void) int i,j,t,a33=8,1,6,3,5,7,4,9,2; for(i=0;i int main(void) int i,j,t,a33=8,1,6,3,5,7,4,9,2; for(i=0;i int main(void) int i,j,k,a44,b44,c44=0; for(i=0;i10); aij=k; while(k=rand()10); bij=k; 19/31 二维数组举例 for(i=0;i int main(void) int i,j,row=0,col=N/2,dataNN=0; for(i=1;i=N)/*已在右上角*/ row=1; col=N-1; else/*只在第0行上*/ row=N-1; 23/31 二维数组举例 else if(col=N)/*只可能在右列外*/ col=0; if(datarowcol0)/*如果当前位置已填充*/ row+=2; col-; /*到此已找到正确的填充位置row和col*/ datarow-col+=i; for(i=0;i int main(void) char str20,newstr20; int i,k; printf(“Please input a string:“); scanf(“%s“,str); printf(“%s“,str); for(k=0;strk!=0;k+); for(k-,i=0;k=0;k-,i+) newstri=strk; newstri=0; printf(“n%sn“,newstr); return 0; 27/31 字符串及其使用 #include int main(void) char str20; int i; printf(“Please input a string:“); scanf(“%s“,str); for(i=0;is2,返回一个大于0的数 ,若s1 int main(void) char ch81=0; int i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论