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

一、程序填空题

在此程序中,函数fun的功能是:找出N*N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。

#include  <stdio.h>

#define  N  4

void fun(int  (*a)[N], int  *b)

{ int  i,j;

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

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

    b[i]=__1__;

    for(j=1; j<N; j++)

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

        if(b[i]__2__ a[j][i])

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

  }

}

void main()

{ int  x[N][N]={ {12,5,8,7},{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[N],i,j;

  printf("\nThe matrix :\n");

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

  {  for(j=0;j<N; j++) printf("%4d",x[i][j]);

     printf("\n");

  }

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

  fun(__3__);

  printf("\nThe result is:");

  for(i=0; i<N; i++)  printf("%3d",y[i]);

  printf("\n");

}

答案:(1) a[0][i] (2) < (3) x,y

二、程序修改题

在此程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如:若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。

#include <stdio.h>

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

void fun(int x,int y)

{ int t;

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

  t=x;x=y;y=t;

}

void main()

{ int a,b;

  a=8;

  b=3;

  fun(&a, &b);

  printf("%d  %d\n ", a,b);

}

答案:(1) void fun(int *x,int *y) (2) t=*x;*x=*y;*y=t;

三、程序设计题

在此程序中,编写函数int fun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

#define MAX 100

int fun(int lim, int aa[MAX])

{

  

}

void main()

{

  FILE *wf;

  int limit,i,sum;

  int aa[MAX];

  system("CLS");

  printf("输入一个整数:");

  scanf("%d",&limit);

  sum=fun(limit,aa);        

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

     {

      if(i%10==0&&i!=0)    /*每行输出10个数*/

         printf("\n ");

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

    }

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

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

  sum=fun(15,aa);        

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

     {

      if(i%10==0&&i!=0)    /*每行输出10个数*/

         fprintf(wf,"\n");

      fprintf(wf,"%5d ",aa[i]);

    }

  fclose(wf);

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

}

答案:

int i,j,k=0;

  for(i=2;i<=lim;i++)                      /*求出小于或等于lim的全部素数*/

     { for(j=2;j<i;j++)

          if(i%j==0) break;

       if(j>=i)

          aa[k++]=i;                       /*将求出的素数放入数组aa中*/

     }

  return k;                                 /*返回所求出的素数的个数*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值