admin管理员组

文章数量:1532706

2023年12月30日发(作者:)

实 验 报 告 三

(四学时)

课 程

专业班级

姓 名

C语言程序设计

实验项目

学 号

实验日期

函数程序设计

成 绩

批阅日期

指导教师

2.1 实验目的

(1)掌握函数的定义和调用;

(2)了解函数间的参数传送;

2.2 基础实验

【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。

算法分析:

1、输入:通过键盘接收一个字符;

2、条件判断:调用判别函数

3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”

4、程序结束。

【实验3-1】代码及运行结果:

【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成。

1

绩的平均分并输出。

函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。

算法分析:

1、输入:通过键盘接收同学个数;

2、调用求平均分函数

3、输出平均成绩

4、程序结束。

【实验3-2】代码及运行结果:

【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。s=148.874270。

2

算法分析:

1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0

2、编写主函数,用一重循环遍历100以内所有数据

2.1、通过素数判别函数对循环的数据进行是否为素数的判别

2.2、返回判别为真的整数,并输出

3、程序结束。

【实验3-3】代码及运行结果:

#include

#include

int Prime(int x)

{

int i ;

if(x<=1)

return 0;

for(i=2;i<=x-1;i++)

{

if(x%i==0)

{

return 0;

}

}

return 1;

}

int main()

{

double i,sum;

i=3;

sum=0;

while(i<=100)

{

if(Prime(i))

{

sum=sum+sqrt(i);

}

else

{

sum=sum+0;

}

i++;

}

printf("sum=%fn",sum);

return 0;

}。

。3

【实验3-4】要求:请编写一个函数fun,它的功能是:根据以下公式求π 的值(要求满足精度0.0005, 即某项小于0.0005 时停止迭代):

输出参考结果如下:

算法分析:

1. 编写函数fun进行通项公式求解

2. 在主函数中对fun函数进行调用,采用循环调用的方式得到每一项的运算结果

3. 判断通项公式的计算结果是否在精度范围要求内,从而确定循环是否继续执行

4. 输出通项公式运算加和

4

【实验3-4】代码及运行结果:

2.3 延伸训练

【实验3-5】编写函数fun,其功能是:根据以下公式求P 的值,结果由函数值带回。m 与n 为两个正整数且要求m > n,。例如: m=12,n=8 时,运行结果为495.000000。

【实验3-5】代码及运行结果:

5

【实验3-6】编写一个函数,通过计算机随机产生一道四则运算题(两个操作数为在1-10之间的整数,操作类型为加、减、乘、除中的任意一种),并要求作答。

若输入答案正确,则显示“Right!”,否则显示“Not correct!”。

然后,在main函数中调用该函数,完成若干道题目测试,并显示回答正确的题目数量。

提示:关于生成随机数

6

程序运行实例:

【实验3-6】代码及运行结果:

#include

#include

#include

#include

int calculate (int s);

int main()

{

int s;

printf("请输入需要完成的题目数量:");

scanf("%d",&s);

printf("n");

printf("回答正确%d道题目n",calculate(s));

return 0;

}

int calculate(int s)

{

int a=0;

int b=0;

7

int mode=0;

double c=0;

double result=0;

int count=0;

int i;

srand((unsigned)time(NULL));

for(i=1;i<=s;i++)

{

a=rand()%10+1;

b=rand()%10+1;

mode=rand()%4;

printf("%d",a);

switch(mode)

{

case 0:

printf("+");

result=a+b;

break;

case 1:

printf("-");

result=a-b;

break;

case 2:

printf("*");

result=a*b;

break;

case 3:

printf("/");

result=1.0*a/b;

break;

default:

printf("something is wrong!n");

break;

}

printf("%d=n",b);

printf("请输入计算结果:n");

scanf("%lf",&c);

if(fabs(c-result)<1e-6)

{

count++;

printf("Rightnn");

}

else

{

printf("Wrongn正确答案是:%fnn",result);

}

8

}

}return count;

3 实验总结

9

欢迎您的下载,

资料仅供参考!

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

10

本文标签: 函数输入输出调用实验