07-数组习题课-ssm课件.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
07-数组习题课-ssm课件

C 语言程序设计;数组习题课;练习题;;【2】为了判断两个字符串s1和s2是否相等,应当使用 。 A)if (s1==s2) B)if (s1=s2) C)if (strcpy(s1,s2)) D)if (strcmp(s1,s2)==0);【3】(多项选择)若有语句: char str1[10], str2[10]=books; 则能将字符串books赋给数组str1的正确语句是 。 A)str1={books}; B)strcpy(str1,str2); C)str1=str2; D)strcpy(str1,books); E)strcpy(str2,str1);;【4】以下程序的输出是 。 char a[ ]=“-12345”; int k=0,symbol,m; if (a[k]==+||a[k]==-) symbol=(a[k++]==+)? 1:-1; for (m=0;a[k]=0a[k]=9;k++) m=m*10+a[k]-’0’; printf(number=%d\n,symbol*m); A)number=-12345 B)number=12345 C)number=-10000 D)number=10000 ;【5】若有说明char str[ ]=“abcdefgh”;请在以下各printf语句后的[ ]中写出相应的输出结果; 1) printf(%%%10s%%\n,str); [ ] 2) printf(%%%–10s%%\n,str); [ ];【7】设有说明char str[20];如想从终端上把以下字符: this is a book 送到数组str中,应当调用1: 函数, 调用形式为2: . ;;【9】下面函数用于统计一行字符中的单词个数,单词之间用空格分开. wordnum(str) char str[]; {int i,num=0,word=0: for (i=0, str[i]! = 1: ;i++) if(2: ==‘ ‘) word=0; else if(word==0) { word=1; 3: ; } return(num); };【10】以下函数用于求出一个2*4矩阵中的最大元素值. max_value(arr) int arr[][4]; { int i,j,max; max=arr[0][0]; for(i=0; 1: ;i++) for(j=0; 2: ;j++) if(3: max) max= 4: ; return(max); };排序(Sorting) 数据处理中一种很重要的运算,同时也是很常用的运算,一般数据处理工作25%的时间都在进行排序。 排序定义 将一组记录按某关键字递增或递减排列的过程。 几种基本的排序算法 冒泡排序 选择排序 插入排序;三种排序算法比较;几种排序算法性能分析(*);选择排序 共需要进行n-1次选择和交换,每次选择需要进行n-i次比较(1≤i≤n-1),而每次交换最多需3次移动 因此,总的比较次数C=n(n-1)/2,总的移动次数M=3(n-1)。 由此可知,选择排序的时间复杂度为O(n2)数量级,但交换次数比冒泡排序少 ;插入排序 从时间分析 首先外层循环要进行n-1次插入, 每次插入新元素最少比较一次(正序),移动两次; 最多比较i次,移动i+2次(逆序)(i=1,2,…,n-1)。 因此,直接插入排序的时间复杂度为O(n2) 从空间来分析 只需要一个元素的辅助空间,用于元素的位置交换。;更多的排序算法(*);例:输入

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档