- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)