文档详情

C语言与程序设计方法课件.ppt

发布:2018-05-01约1.25万字共230页下载文档
文本预览下载声明
《C语言与程序设计方法》 (二);《C语言与程序设计方法》;;为什么需要数组;概述;一维数组(变量)的说明;一维数组的引用;选择法排序;[算法]选择排序;【例】在电视歌手大奖赛时,有10个评委评分。从键盘输入10个评委给某歌手的评分,要求找出10个评委中哪一个给了最低分、哪一个给了最高分。去掉一个最低分并去掉一个最高分后剩下的八个评分的平均值为该歌手的最后得分,求该歌手的最后得分。;一维数组的初始化;实例;【算法】;二维数组;二维数组说明;例 int a[3][4]; ;二维数组的引用;二维数组的初始化;;例: 求二维数组a[M][N]中最大元素值及其行、列号。;字符数组;字符数组、引用、初始化; 例 char diamond[][5]={{?, ?, *}, {?, *, ?, *}, {*, ?, ?, ?, *}, {?, *, ?, *}, {?, ?, *}}; ;用字符数组处理字符串;用字符数组处理字符串;字符数组的输入输出;字符数组的输入输出;void main() { char a[]={h, e, l, \0, l, o, \0}; printf(%s, a); };void main() { int i; char a[5]; scanf(%s, a); printf(“%s\n”, a); }; ;例 若准备将字符串“This is a string.”输入, 考虑如下输入语句: (A)scanf(“%20s”, s); (B)for (k=0; k17; k++) s[k]=getchar(); (C)while ((c=getchar())!=‘\n’) s[k++]=c;; ;字符串连接函数strcat 格式:strcat(字符数组1,字符数组2) 功能:把字符数组2连到字符数组1后面 返值:返回字符数组1的首地址 说明:?字符数组1必须足够大 ?连接前,两串均以‘\0’结束;连接后,新串最后加‘\0’;例 strcpy与strcat举例;字符串比较函数strcmp 格式:strcmp(字符串1,字符串2) 功能:比较两个字符串 比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符或‘\0’为止 返值:返回int型整数,a. 若字符串1 字符串2, 返回负整数 b. 若字符串1 字符串2, 返回正整数 c. 若字符串1 == 字符串2, 返回零 说明:字符串比较不能用“==”,必须用strcmp;#include string.h #include stdio.h void main() { char str1[]=Hello!, str2[]=How are you?, str[20]; int len1, len2, len3; len1=strlen(str1); len2=strlen(str2); if (strcmp(str1, str2)0) { strcpy(str, str1); strcat(str, str2); } else if (strcmp(str1, str2)0) { strcpy(str, str2); strcat(str, str1); } else strcpy(str, str1); len3=strlen(str); puts(str); printf(“Len1=%d,Len2=%d,Len3=%d\n”,len1,len2,len3); };;当前字符==空格;例2:有三个字符串,找出其中最大者。;例3:编写一个函数,实现将任意的十进制整数转换成R进制数输出(R在2-16之间)。;例 比较 int a[2][3]={{5, 6}, {7, 8}}; 与 int a[2][3]={5, 6, 7, 8};;数组作为函数参数;1、数组元素作为函数参数;例2:有5个学生,每个学生有3门课程的成绩,每门课程的学分不一样。计算每一个学生的加权平均成绩。;例3:有5门课程,每门课程有3个学生的成绩,每门课程的学分不一样。计算每一个学生的加权平均成绩。;数组的基本操作;排序与查找;冒泡排序法;冒泡排序法;第 i 次排序(i=1, 2,
显示全部
相似文档