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
版权声明:本文标题:c语言编程例题及答案 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1703867013a75486.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论