计算机二级

3773考试网计算机等级考试计算机二级正文

2011计算机二级C语言考点:函数

来源:fjzsksw.com 2010-11-3 13:35:09

 

计算机二级]2011计算机二级C语言考点:一维数组 11-03
[计算机二级]2011计算机二级C语言考点:循环结构程序设计 11-03
[计算机二级]2011计算机二级C语言考点:选择结构程序设计 11-03
[计算机二级]2011计算机二级C语言考点:简单的C程序设计 11-03
[计算机二级]2011计算机二级C语言考点:C语言的基础知识 11-03
[计算机二级]2011计算机二级C语言考点:C语言的运行环境和过程

 

  实验八 函数

  【目的与要求】

  1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。

  2.了解主调函数和被调函数之间的参数传递方式。

  【上机内容】

  【一般示例】

  【例1】写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。

  源程序如下:

  mian()

  {

  int number;

  printf(“请输入一个正整数:\n”);

  scanf(“%d”,&number);

  if (prime(number))

  printf(“\n %d是素数.”,number);

  else

  printf(“\n %d不是素数.”,number);

  }

  int prime(number) /*此函数用于判别素数*/

  int number;

  {

  int flag=1,n;

  for(n=2;n  if (number%n==0)

  flag=0;

  return(flag);

  }

  判断素数的算法,我们在以前学习循环的时候已经学过了,在这里只是把这个算法用函数的形式表示出来。这里我们要注意函数的定义、声明的方法和格式。

  【例2】写一函数,是给定的一个二位数组(4×4)转置,即行列互换。

  源程序如下:

  /*矩阵的转置*/

  #define N 4

  int array[N][N];

  convert(array)

  int array[4][4];

  {

  int i,j,t;

  for (i=0;i  for (j=i+1;j  {

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

  }

  }

  main()

  {

  int i,j;

  printf(“输入数组元素:\n”);

  for (i=0;i  for (j=0;j  scanf(“%d”,&array[i][j]);

  printf(“\n数组是:\n”);

  for (i=0;i  {

  for (j=0;j  printf(“]”,array[i][j]);

  printf(“\n”);

  }

  conver(array);

  printf(“转置数组是:\n”);

  for (i=0;i  {

  for (j=0;j  printf(“]”,array[i][j]);

  printf(“\n”);

  }

  }

  本例题用数组作为函数参数,大家要注意数组作为函数参数时的用法。

  【典型示例】

  【例1】写两个函数,分别求两个正数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。两个正数由键盘输入。

  源程序如下:

  #include "stdio.h"

  hcf(u,v)

  int u,v;

  {

  int a,b,t,r;

  if(u>v)

  {

  t=u; u=v; v=t;

  }

  a=u; b=v;

  while((r=b%a)!=0)

  {

  b=a; a=r;

  }

  return(a);

  }

  lcd(u,v,h)

  int u,v,h;

  {

  return(u*v/h);

  }

  main()

  {

  int u,v,h,l;

  scanf("%d,%d",&u,&v);

  h=hcf(u,v);

  printf("H.C.F=%d\n",h);

  l=lcd(u,v,h);

  printf("L.C.D=%d\n",l);

  }

  这是一个十分典型的算法,同学们一定要认真分析、学习。

 

[1] [2] 下一页

触屏版 电脑版
3773考试网 琼ICP备12003406号-1