文档详情

C语言教案:第5章数组.ppt

发布:2017-06-01约7.56千字共49页下载文档
文本预览下载声明
四、字符串处理函数 函数原型存放在string.h文件中。 1、strlen函数 测试字符串的长度 2、strcat函数 连结两个字符串 3、strcmp函数 比较两个字符串的大小 4、strcpy函数 字符串的拷贝 例:密码检查程序 # include stdio.h # include string.h # define SIZE 80 # define PASSWORD Wang # define TIMES 3 main() { int try=0; char input[SIZE]; puts(请输入密码); do {gets(input); if(strcmp(input,PASSWORD)!=0) puts(密码输入错,请再试一次); else break; }while(++tryTIMES); if(tryTIMES) pus(密码正确,请继续运行程序...); else puts(非法用户,不能使用本程序); } §5.5 数据处理 数据分档(分类)、数据排序、数据检索 一、数据分档 常用数据分类的方法 利用if语句 利用switch语句 缺点: 程序冗长、占机时多 随机输入一组数据,数据在1 ~ 4之间, 输入结束统计出各类数据的个数。 例: 分析问题给出算法一: 1、输入数据到x 2、判断该数据属于那类,分别记数 4、分别输出a、b、c、d的值 3、反复执行1、2步骤直到数组输完 为1 记入a中 为2 记入b中 为3 记入c中 为4 记入d中 编程方法一:(用基本数据类型) main() { Loop: scanf(“%d”,x); if(x==1)a+=1; if(x==2)b+=1; if(x==3)c+=1; if(x==4)d+=1; goto loop; int x,a,b,c,d; a=b=c=d=0; if(x==9999)goto end; if(x=5 || x1) goto loop; } end: printf(“ 1 的个数为:%d”,a); printf(“ 2 的个数为:%d”,b); printf(“ 3的个数为:%d”,c); printf(“ 4 的个数为:%d”,d); 分析问题给出算法二: 2、输入数据到x 3、判断该数据属于那类,分别记数 5、分别输出a[1] ~a[4]的值 4、反复执行2、3步骤直到数组输完 a[1]中记1的个数 1、设定一个数组a存放统计结果 a[5] a[4]中记4的个数 a[3]中记3的个数 a[2]中记2的个数 a[X]+=1 编程方法二:(用数组) main() { } int a[5]={0,0,0,0,0},x,i; scanf(“%d”,x); while(x!=9999) { a[x]+=1; scanf(“%d”,x); } for(i=1;i5;i++) printf(“\na[%d]=%d“,i,a[i]); 二、数据排序 1、“交换”排序法 过程:用当前数据逐个与后续数据比较 例: 设数据存于A数组中,按降序排。 A(0)与A(1)比 A(0)A(1) 不换,否则对调 A(0/1)与A(2)比 A(0/1)A(2) 不换,否则对调 : : p193 2、“冒泡”排序法 特点:逐个对数组中每相邻二数进行比较 例1: 设数据存于A数组中,按降序排。 A(0)与A(1)比 A(0)A(1) 不换,否则对调 A(1)与A(2)比 A(1)A(2) 不换,否则对调 : A(n-2)与A(n-1)比 A(n-2)A(n-1) 不换,否则对调 例:有一组学生平均成绩如下表,将其按 从大——小排序 83.8 83.5 85.8 80 78.2 83.8 85.8 83.5 80 85.8 83.8 83.5 85.8 83.
显示全部
相似文档