C语言程序设计习题参考答案第二版杜友福 下载本文

printf(\ for(i=0;i<3;i++) {for(j=0;j<4;j++)

printf(\ printf(\ }

printf(\ for(i=0;i<4;i++) {for(j=0;j<3;j++)

printf(\ printf(\ } }

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(\

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

答:程序参见文件Cprogram\\

#include \#include \main()

{char t,s[]=\ int i,j,n; puts(s); n=strlen(s);

for(i=0;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; gets(s);

i=0;n=0;w=0; while(s[i]!='\\0') {if(s[i]==' ')

w=0; /*end of a word*/ else if(w==0)

{w=1;n++;} /*begin of a word*/ i++; }

printf(\}

9. 编程将两个一维数组中的对应元素的值相减后进行输出。 答:程序参见文件Cprogram\\

#include \#include \main()

{int i,a[10],b[10]; for(i=0;i<10;i++)

{a[i]=rand()0; printf(\ printf(\

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

{b[i]=rand()0; printf(\ printf(\

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

printf(\ printf(\}

10. 有n个无序的数放在数组a中,请将相同的那些数删得只剩得一个,输出经过删除后的数据。

答:程序参见文件Cprogram\\

#include \main()

{int i,j,k,a[10]={90,20,40,30,50,50,50,50,20,80}; for(i=0;i<10;i++)

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

for(j=i+1;j<10;j++) if(a[j]==a[i]) {a[j]=-888;} k=0;

for(i=0;i<10;i++) if(a[i]!=-888)

{ printf(\

a[k++]=a[i]; } 求二维数组中这样一个元素的位置:它在行上最

小,在列上也最小。如果没有这样的元素则输出相应的信息。 答:程序参见文件Cprogram\\

#include \#include \main()

{int j,i,k,flag,fz=0,a[4][5]; for(i=0;i<4;i++) {for(j=0;j<5;j++)

{a[i][j]=rand()0; printf(\ }

printf(\ }

for(i=0;i<4;i++) {for(j=0;j<5;j++) {flag=1;

for(k=0;k<5;k++) if(a[i][k]

for(k=0;k<4&&flag;k++) if(a[k][j]

{fz++; printf(\ } }

if(fz==0)

printf(\}

12. 在一个二维数组中形成并输出如下矩阵:

1 1 1 1 1 2 1 1 1 1 A= 3 2 1 1 1 4 3 2 1 1 5 4 3 2 1

答:程序参见文件Cprogram\\

#include \#define N 5 main()

{int j,i,a[N][N]; for(i=0;i

a[i][j]=i+1; else

a[i][j]=a[i-1][j-1]; }

for(i=0;i

printf(\ printf(\ } }

13. 已知A是一个3╳4的矩阵,B是一个4╳5的矩阵,编程求A╳B得到的新矩阵C,并输出C矩阵。

答:程序参见文件Cprogram\\

#include \

main()

{int j,i,k,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int b[4][5]={3,2,1,5,4,4,3,2,5,1,2,3,5,4,1,7,8,5,6,9}, c[3][5]; printf(\ for(i=0;i<3;i++) {for(j=0;j<4;j++)

printf(\ printf(\ }

printf(\ for(i=0;i<4;i++) {for(j=0;j<5;j++)

printf(\