0
点赞
收藏
分享

微信扫一扫

二级C语言操作例题(七)

西曲风 2022-02-23 阅读 38

一、程序填空题

在此程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。

#include  <stdlib.h>

#include  <stdio.h>

#define   N  20

void  fun( int  *a)

{ int  i, x, n=0;

  x=rand()%20;

/**********found**********/

  while (n<__1__)

  {  for(i=0; i<n; i++ )

/**********found**********/

         if( x==a[i] )

    __2__;

/**********found**********/

     if( i==__3__)

{ a[n]=x; n++; }

     x=rand()%20;

  }

}

void main()

{ int  x[N]={0} ,i;

  fun( x );

  printf("The result :  \n");

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

  { printf("%4d",x[i]);

    if((i+1)%5==0)printf("\n");

  }

  printf("\n\n");

}

答案:(1) N (2) break (3) n

二、程序修改题

在此程序中,函数的功能是:先从键盘上输入一个3行、3列的矩阵的各个元素的值,然后输出主对角线元素之和。

#include <stdio.h>

void fun()

{

 int a[3][3],sum;

 int i,j;

/*************found**************/

 sum=1;

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

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

/*************found**************/

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

    }

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

     sum=sum+a[i][i];

 printf("Sum=%d\n",sum);

}

void main()

{

fun();

}

答案:(1) sum=0; (2) scanf("%d",&a[i][j]);

三、程序设计题

在此程序中,编写程序,实现矩阵(3行、3列)的转置(即行列互换)。

例如,若输入下面的矩阵:

则程序输出:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void fun (int array[3][3])

{

  

}

void main()

{

  FILE *wf;

  int i,j;

  int array [3][3]={{100,200,300},{400,500,600},{700,800,900}};

  system("CLS");

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

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

          printf("%7d ",array[i][j]);

      printf("\n ");

     }

  fun(array);

  printf("Converted array:\n ");

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

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

          printf("%7d ",array[i][j]);

       printf("\n ");

     }   

/******************************/

  wf=fopen("out.dat","w");

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

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

          fprintf(wf,"%7d ",array[i][j]);

       fprintf(wf,"\n");

     }   

  fclose(wf);

/*****************************/

}

答案:

  int i,j,t;

  for(i=0;i<3;i++)            /*将右上三角和左下三角对换,实现行列互换*/

     for(j=i+1;j<3;j++)

        {t=array[i][j];

         array[i][j]=array[j][i];

         array[j][i]=t;

        }

举报

相关推荐

0 条评论