C语言程序设计习题答案(6-13)

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

C语言程序设计习题答案

习题六数组

一、选择题

1~10: BDBCD CDBAB

11~20:BCDCC DABBC

21~30:CCADC ABBCB

31~41:BDDDD CDCCB A

二、填空题

1. 9 、 0

2.先行后列

3.连续的存储空间中

4. QuickC

5. (c=getchar( )) 、‘A’+i或65+i

6. ‘\0’、 str1[i]-str2[i]

7. CDABC

8. 10 14

9. 6

10. 1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

11. 600

12. AzyD

13 4 some string *test

三、编程题

1. 定义一个有20个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。

答:程序参见文件Cprogram\

#include ""

#include ""

main()

{int i,s0=0,s1=0,a[20];

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

a[i]=rand()%100;

for(i=0;i<20;i+=2)

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

s0=s0+a[i];

}

printf(" sum is:%d ave=%f\n",s0,s0/;

for(i=1;i<20;i+=2)

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

s1=s1+a[i];

}

printf(" sum is:%d ave=%f\n",s1,s1/;

}

2. 设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组中出现过,若出现,则输出第一次出现的位置,否则,输出no found。

答:程序参见文件Cprogram\

#include ""

#include ""

main()

{int i,s,a[20];

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

a[i]=rand()%100;

scanf("%d",&s);

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

if(a[i]==s)

{printf("found:a[%d]=%d\n",i,a[i]);

break;

}

if(i==20)

printf("no found\n");

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

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

printf("\n");

}

3. 设有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。

答:程序参见文件Cprogram\

#include ""

#define N 10

main()

{int i, j, s, a[N]={17,15,13,11,9,7,5,3,1}; 编一程序,从一个已排好序的数组中删去某个位置上的元素。

答:程序参见文件Cprogram\

#include ""

#define N 10

main()

{int i, j, a[N]={1,3,5,7,9,11,13,15,17,19};

for(i=0;i

printf("\n");

scanf("%d",&i);

for(j=i;j

a[j]=0;

for(i=0;i

printf("\n");

}

5. 将一个二维数组的行、列互换后存到另一个二维数组中并输出结果。

答:程序参见文件Cprogram\

#include ""

main()

{int i,j;

int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},b[4][3];

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

for(j=0;j<3;j++)

b[i][j]=a[j][i];

printf("array a:\n");

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

{for(j=0;j<4;j++)

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

printf("\n");

}

printf("array b:\n");

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

{for(j=0;j<3;j++)

printf("%5d",b[i][j]);

printf("\n");

}

}

6. 编一程序,在一个二维数组中,查找第一次出现的负数,并输出该数及其所在的行、列号。

答:程序参见文件Cprogram\

#include ""

main()

{int i,j,flag;

int a[3][4]={1,3,5,7,9,11,13,-15,17,19,-21,23};

flag=0;

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

for(j=0;j<4;j++)

if(a[i][j]<0)

{flag=1;

printf("found:a[%d][%d]=%d\n",i,j,a[i][j]);

i=j=100; 编程将一个字符数组中的字母,按由大到小的顺序进行排序。

答:程序参见文件Cprogram\

#include ""

#include ""

main()

{char t,s[]="ABCDIVBHFBVCNLKFDB";

int i,j,n;

puts(s);

n=strlen(s);

for(i=0;i

for(j=i+1;j

if(s[i]

{t=s[i];s[i]=s[j];s[j]=t;}

puts(s);

}

8. 输入一行字符,统计其中有多少个英语单词,单词之间用空格隔开。

答:程序参见文件Cprogram\

#include ""

#include ""

main()

{char s[81];

int w,i,n;

相关文档
最新文档