- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 说明: 本小节介绍的函数,是在stdio.h和string.h两个头文件中提供的,使用这些函数时应包含相应的头文件: #include stdio.h 或: #include string.h 参看教材附录F 10.3.2 字符串处理函数 * * 例: 将s2中的字符串拷贝到s1中(不用strcpy) #include string.h int main() { char s1[20], s2[20]; int i; gets(s2); for(i=0;i=strlen(s2);i++) s1[i]=s2[i]; return 0; } 讨论:结束符‘\0’是否复制了 10.3.3 字符数组应用举例 * * 例: 将s2中的字符串拷贝到s1中(不用strcpy) 解法二: int main() { char s1[20], s2[20]; int i; gets(s2); for(i=0; s2[i]; i++) s1[i]=s2[i]; s1[i]=0; return 0; } 10.3.3 字符数组应用举例 * * 例:将字符数组中的字符串逆序存放, 设键盘输入字符数不超过20个 例:键盘输入一个字符串(不超过80字符),统计其中大写字母的个数 本题可用两种方法求解 用getchar()直接从键盘缓冲区读取字符进行判断 先用gets()取回字符串存到数组中,再对数组中的字符逐个进行判断 10.3.3 字符数组应用举例 * * 习题10: 一. 全部 二. 1,2,3,4,5,8,9,10,11,13,15 习 题 * * 例4: 利用随机函数产生50个200~300之间的整数, 并按由大到小顺序排列 本题需要考虑三个问题: 随机数怎样生成 数据怎样存储 如何排序 10.1.7 一维数组应用举例 随机函数及用法 用数组存储 排序算法 * * 随机数的生成(很多地方需要用到) TC在stdlib.h中提供了4个函数,VC只提供了前2个 srand()和rand() int rand(): 生成一个[0~32767]之间的随机整数 void srand(unsigned seed): 用seed初始化随机数生成器,一般用法是:srand(time(NULL)); 故也需要包含time.h random()和randomize() int random(int n):生成一个[0~n-1]范围内的整数 void randomize(): 用系统时间作为种子初始化随机数生成器,需包含time.h 10.1.7 一维数组应用举例 * * 排序: 冒泡法排序(起泡法) 选择法排序 插入排序 希尔排序 归并排序 快速排序 堆排序 ...... 10.1.7 一维数组应用举例 课后认真阅读教材,切实掌握两种排序的算法思路 * * 例4:利用随机函数产生50个200~300之间的整数, 并按由大到小顺序排列 #include stdio.h #include stdlib.h #include time.h int main() { int a[50]; int i,j,k,m; srand(time(NULL)); for(i=0;i=49;i++) a[i]=rand ()%100+200; 10.1.7 一维数组应用举例 for(i=0;i49;i++){ k=i; for (j=i+1;j=49;j++) if (a[j]a[k]) k=j; m=a[i];a[i]=a[k];a[k]=m; } for(i=0;i=49;i++) printf(“%d,”,a[i]); return 0; } 思考题:如何生成互不相同的随机整数? * * 第二节 二维数组 本节主要内容 二维数组的定义 1 二维数组的元素构成及存储结构 2 二维数组下标变量的表示方法 4 5 二维数组的初始化 6 二维数组应用举例 7 二维数组名的指针类型 3 二维数组的引用 * * 二维数组的由来 案例2:考试结束,共72人,每人有五个分数,如何存储? 每
文档评论(0)