好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计(第3版)何钦铭 颜 晖 第7章 数组

天下 分享 时间: 加入收藏 我要投稿 点赞

BatchDoc Word文档批量处理工具

return 0; }

int day_of_year(int year,int month,int day) { int k,leap; int tab[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31} }; leap=(year%4==0&&year0!=0||year@0==0); for(k=1;k

【练习7-10】查找指定字符。输入一个字符,再输入一个以回车符结束的字符串(少于80个字符)。如果找到,则输出该字符在字符串中所对应的最大下标,下标从0开始;否则输出”Not Found”。试编写相应程序。 解答:

#include int main(void) { int i,max,flag; char a[80],op; printf(\ op=getchar(); fflush(stdin);//或setbuf(stdin,NULL); printf(\ i=0; while((a[i]=getchar())!='\\n') i++; a[i]='\\0'; max=0; flag=0; for(i=0;a[i]!='\\0';i++) if(a[i]==op) { max=i; flag=1; } if(flag==1)

BatchDoc Word文档批量处理工具

BatchDoc Word文档批量处理工具

printf(\ else printf(\ return 0; }

【练习7-11】字符串逆序:输入一个以回车符结束的字符串(少于80个字符),将该字符串逆序存放,输出逆序后的字符串。试编写相应程序。 解答:

#include int main(void) { int i; char str[80],a[80]; printf(\ i=0; while((str[i]=getchar())!='\\n') i++; str[i]='\\0'; for(;i>=0;i--) putchar(str[i]); return 0; }

习题7

一.选择题

1.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4}; 则数组x在内存中所占字节数是 D 。

A.3 B.6 C.10 D.20

2.以下能正确定义数组并正确赋初值的语句是 D 。

A.int N=5,b[N][N]; B.int a[1][2]={{1},{3}}; C.int c[2][]={{1,2},{3,4}}; D.int d[3][2]={{1,2},{34}};

3.若有定义:int a[2][3];以下选项中对数组元素正确引用的是 D 。

A.a[2][0] B.a[2][3] C.a [0][3] D.a[1>2][1]

BatchDoc Word文档批量处理工具

BatchDoc Word文档批量处理工具

4.设有数组定义:char array [ ]=\则数组array 所占的空间为 C 。

A.4 个字节 B.5 个字节 C.6 个字节 D.7 个字节

5.下述对 C 语言字符数组的描述中错误的是 D 。 A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入、输出

C.可以在赋值语句中通过赋值运算符\对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较

6.有以下定义:char x[ ]=\char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为 C 。

A.数组x和数组y等价 B . 数组x和数组y的长度相同

C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度

7.以下程序的输出结果是 C 。 int main(void)

{ int m[ ][3]={1,4,7,2,5,8,3,6,9};

int i, j, k=2; for (i=0;i<3;i++)

printf (\

}

A.4 5 6 B.2 5 8 C.3 6 9 D.7 8 9

8.以下程序的输出结果是 B 。 int main(void)

{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

int i, s=0;

for(i=0;i<4;i++) s+=aa[i][1]; printf(\}

A.11 B.19 C.13 D.20

二.填空题

1.设有定义语句:int a[ ][3]={{0},{1},{2}}; 则数组元素a[1][2]的值是 0 。 2.下列程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到a数组中,然后输出。 请填空。

int main(void )

{ int x[10],a[9],i;

BatchDoc Word文档批量处理工具

BatchDoc Word文档批量处理工具

for(i=0; i<10; i++) scanf(\ for( _i=1_; i<10; i++ ) a[i-1]=x[i]+_x[i-1] _ ; for(i=0; i<9; i+ +) printf(\ printf(\

}

3.写出下列程序的运行结果是 -12 。 int main(void)

{ int a[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};

int j,s=0;

for(j=0;j<10;j++) if(a [j]%2==0) s+=a[j];

printf(\ }

4.写出下面程序的运行结果 。 #include int main(void)

{ float s[6]={1, 3, 5, 7, 9}; float x; int i;

scanf(“%f”, &x);

for (i=4 ; i>=0; i--)

if(s[i]>x)

s[i+1]=s[i];

else

break;

printf(\

return 0;

}

(1) 如果输入 4,则输出 2 。 (2) 如果输入 5,则输出 3 。

5.下列程序的功能是输出如下形式的方阵,请填空。 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 int main(void) { int i,j,x;

for(j=4;_j>=1_;j--)

BatchDoc Word文档批量处理工具

BatchDoc Word文档批量处理工具

{ for(i=1;i<=4;i++) { x=(j-1)*4+_i_;

printf(\}

printf(\}

}

6.以下程序的功能是用来检查二维数组是否对称(即对所有的i,j都有a[i] [j]=a[j] [i])。请填空。

int main(void)

{ int a[4][4]={1,2,3,4,2,2,5,6,3,7,8,6,7,4}; int i,j,found=0; for(j=0;j<4;j++) { for(i=0;i<4;i++) if(_a[j][i]!=a[i][j]_){ _found=1;_ break; } if(_found==1_)break; } if(found!=0) printf(\该二维数组不对称\\n\ else printf(\该二维数组对称\\n\ return 0; }

三.程序设计题

1. 选择法排序。输入一个正整数 n (1

#include int main(void) { int i,n,index,k,temp; int a[10]; printf(\ scanf(\ printf(\ for(i=0;i

BatchDoc Word文档批量处理工具

C语言程序设计(第3版)何钦铭 颜 晖 第7章 数组

BatchDocWord文档批量处理工具return0;}intday_of_year(intyear,intmonth,intday){intk,leap;inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31
推荐度:
点击下载文档文档为doc格式
8jgmb7lxz47f1wl0k4bu3bj0w6iihw013p0
领取福利

微信扫码领取福利

微信扫码分享