实验六:函数

一.实验目的与要求

实验目的:(1)掌握函数定义和调用的方法。

     (2)掌握函数嵌套调用的方法。

     (3)掌握循环语句的使用。

                 (4)理解实参与形参的对应关系。

实验要求:利用函数计算素数个数并求和:输入两个正整数m 和 n(1<=m, n<=500),统计并输出 m 和 n 之间的素数的个数以及这些素数的和。要求定义并调用函数 prime(m)判断 m 是否为素数。试编写相应程序。

二.实验内容

1.问题分析:

(1)素数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;

  (2)在数据处理时只需要判读他的因子除了1和他本身就行了,而且只用计算到这个数的开方就行了。

2.程序设计:

#include<stdio.h>
#include<math.h>
int prime(int m);
int main()
{
int m,n,count=0,sum=0;
printf("Enter m:");
scanf("%d",&m);
printf("Enter n:");
scanf("%d",&n);
printf("1<=m && n<=500\n");
for(m=2;m<=n;m++)
if(prime(m)!=0){
count++;
sum=sum+m;
}
printf("count=%d,sum=%d\n",count,sum);
return 0;}
int prime(int m)
{
int i;
if(m==1)
return 0;
for(i=2;i<=sqrt(m);i++)
if(m%i==0){
return 0;}
return m;
}

3.运行过程:

三.实验心得:此次实验相对较难,加之对函数调用这部分内容掌握的不是很好,设计程序比较费力。经查阅资料有了一些头绪,所定义的函数返回值可以有多个定义,而且所定义的函数返回值,可直接用于主函数中。这部分内容知识点较多,要加强练习,以便能熟练使用。

 

posted @ 2019-05-06 23:12  巢玉洁  阅读(520)  评论(1)    收藏  举报