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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章数组

【练习7-1】将例7-3 程序中的break 语句去掉,输出结果有变化吗假设输入数据不变,输出什么

解答:

当去掉break 语句后,一旦找到数据将不跳出循环,而是继续往下找值为x 的元素,因

此程序输出会有变化。当输入数据仍为 2 9 8 1 9 时,输出将是index is 1 index is 4。

【练习7-2】将数组中的数逆序存放。输入一个正整数n(1

解答:

#include<>

int main(void)

{

int i,n,temp;

int a[10];

printf("Input n:");

scanf("%d",&n);

printf("Input %d integer:",n);

for(i=0;i

scanf("%d",&a[i]);

printf("After reversed:");

for(i=0;i

temp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;

}

for(i=0;i

printf("%d ",a[i]);

return 0;

}

【练习7-3】求最大值及其下标。输入一个正整数n(1

#include<>

int main(void)

{

int i,index,n;

int a[10];

scanf("%d",&n);

printf("Enter %d integrs:",n);

for(i=0;i

scanf("%d",&a[i]);

for(i=n-1;i>=0;i++)

printf("%d ",a[i]);

return 0;

}

【练习7-4】找出不是两个数组共有的元素。输入一个正整数n (1<n≤10),再输入n 个整数,存入第1个数组中;然后输入一个正整数m(1

解答:

#include<>

int main(void)

{

int i,j,k,m,n,flag,equal;

int a[25],b[25],c[25];

printf("Enter m:");

scanf("%d",&m);

printf("Enter %d integers:",m);

for(i=0;i

scanf("%d",&a[i]);

printf("Enter n:");

scanf("%d",&n);

printf("Enter %d integers:",n);

for(j=0;j

scanf("%d",&b[j]);

k=0;

for(i=0;i

flag=0;

for(j=0;j

if(a[i]==a[j])

flag=1;数组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++)

}

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("%d\n",s);

}

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;

for(i=0; i<10; i++)

scanf("%d",&x[i]);

for( _i=1_; i<10; i++ )

a[i-1]=x[i]+_x[i-1] _ ;

for(i=0; i<9; i+ +)

printf("%d ",a[i]);

printf("\n");

}

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("s=%d\n",s);

}

4.写出下面程序的运行结果。

#include <>

int main(void)

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

float x;

相关文档
最新文档