习题5分析和总结.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 3 习题 5(第 7 章) 1、在定义 int a[2][3];之后,对 a 的引用正确的是: 。(1) a(1,2) (2) a[1][3] (3) a[12][0] (4) a[2][0] 2、以下对二维数组 a 进行不正确的初始化是: 。(1)int a[ ][3]={2,1,2,4,3,2}; (2)int a[ ][3]={{3,2,1}, {1,2,3}}; (3)int a[2][3]={1,2,3}; (4)int a[2][3]={{1,2}, {2,3}, {3,2}}; 3、若有以下定义和语句: char s1[]=abcd,s2[]=C\\bcd\n; printf(%d\n,strlen(strcpy(s1,s2))); 则输出结果是: 。 4、以下不能正确对字符串赋值的语句是: 。(1)char s[5]={ g?, o?, o?, d?, \0?}; char s[5]; s=“good”; char s[ ]=“good”; char s[5]; strcpy(s, “good”); 5、阅读以下程序,写出程序输出结果,并分析程序功能。#include string.h main( ) { char str[]={This is an example, please count it!}; int n=1, j=0; while (str[j]!=\0) { if (j0str[j]== str[j-1]!= ) n++; j++; } printf(Word number is: %d\n, n); } 6、分析下列程序的输出结果及其实现的功能。main( ) { int a[4][2]={1,2,3,4,5,6,7,8}, b[2][3]={6,5,4,3,2,1}; int c[4][3], i, j, k; for (i=0; i4; i++) for (j=0; j3; j++) { c[i][j]=0; for (k=0; k2; k++) c[i][j] += a[i][k] * b[k][j]; } for (j=0; j4; j++) { for (k=0; k3; k++) printf(%6d,c[j][k]); printf(\n); } } 7、以下是将数组逆序存放,即将原第0 个元素与第 9 个元素交换,第 1 个元素与第 8 个元素交换,依次类推。修改其中存在的错误(提示:5 处错误)。 void main() { int a[10]={12,2,5,6,27,3,10,19,10,8}; int i, n=10; for (i=0;in;i++) { t=a[i]; a[i]=a[n-i]; a[n-i]=t; } for (i=1; i=n; i++) printf(%5d,a[i]); } 8、下列程序用筛选法求 100 以内的素数。筛选法的做法是:(1)定义数组 a[100]存放整数 1~100;(2)先把 1 挖掉(1 不是素数),即原来 a[0]中存放 1,现把 a[0]置为 0;(3)用 2去除它后面的各个数,即把所有2 的倍数挖掉;(4)用3 去除它后面的各个数,即把所有3的倍数挖掉;(5)用下一个未被挖掉的数 p(即 p 肯定是一个素数)去挖掉它后面的 p 的倍数;……(6)重复(5)直到p 为 sqrt(100)为止。 (7)输出数组a 中未被挖掉的数(即不等于 0 的数),这些数就是 100 以内的素数。 请在空白处填空,补充程序完整。 #include stdio.h #include math.h void main() { int i,j,a[100]; for (i=0;i100;i++) a[i]=i+1; a[0]= ; for (i=1;isqrt(100);i++) for (j=i+1;j100;j++) if (a[i]!=0 a[j]!=0 a[j]%a[i]==0) a[j]=0; for (i=0;i100;i++) if( ) printf(%5d,a[i]); } 9、下列程序实现选择法对 10 个整数从小到大排序,请将程序补充完整。#define N 10 void main( ) { int min, t, i, j, a[N]; for (i=0; iN; i++) scanf(%d, a[i]); for (i=0; ; i++) { min=i; for(j=i+1; jN; j++) if (a[j]a[min]) t=a[min]; a[min]=a[i]; } for (i=0;iN;i++) printf(%5d,a[i]); } 10、下列程序实

文档评论(0)

mph + 关注
官方认证
内容提供者

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

认证主体上海谭台科技有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档