实验五、函数程序设计剖析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<iostream>
using namespace std;
double fun(int f)
{
double temp;
temp=(f-32)*5.0/9;
return temp;
}
int main()
{
int i;
for(i=32;i<=100;i=i+4)
cout<<i<<" "<<fun(i)<<endl;
2.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1。编写一个程序,从键盘输入任意10个整数,分别调用用户自定义函数来判断这10个整数的奇偶性。
实验五函数程序设计
一、实验目的
1.掌握函数的定义、函数的说明和调用。
2.掌握函数的参数及其传递方式,函数值的正确返回。
二、实验设备及分组
1.Windows XP操作系统;
2.Visual C++6.0语言环境;
3.每人一台PC机。
三、实验内容
1.[目的]掌握标准库函数的说明和调用方法。
[题目内容]编写一个程序,首先显示一个菜单,然后根据用户的选择,输入数据后,执行相应的操作。
else cout<<"素数"<<endl;
return 0;
}
5.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]孪生素数是指两个相差为2的素数。例如3和5,5和7,11和13等。编写程序输出m对(m由键盘输入)孪生素数。要求设计函数prime用于判断某整数是否素数。
[输入]整数m
[输出]输出m对孪生素数
#include<iostream>
using namespace sห้องสมุดไป่ตู้d;
int prime(int a)
{
int i,k,flag;
for(i=2;i<a;i++)
{
k=a%i;
if(k==0) break;
}
if(i==a) flag=1;
else flag=0;
return flag;
#include<iostream>
using namespace std;
int fun(int a)
{
int i,k,flag;
for(i=2;i<a;i++)
{
k=a%i;
if(k==0) break;
}
if(i==a) flag=1;
else flag=0;
return flag;
}
int main()
}
int main()
{
int m,i,j=0;
cout<<"请输入m:"<<endl;
cin>>m;
for(i=2;i<=1000000000;i++)
{
if(prime(i)&&prime(i+2))
{
j++;
cout<<i<<" "<<i+2<<endl;
if(j>=m) break;
}
}
return 0;
fun(s,h);
return 0;
}
7.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:判断这个整数是否素数,函数的返回值为判断结果。编写一个程序,求3到100之间的所有素数。
[输入]无
[输出]是否素数的信息
[提示]函数的返回值可以一个标志变量表示,例如,flag=1,表示是素数;flag=0表示不是素数。主函数根据返回值的情况输出相应信息。
using namespace std;
double fl(int r)
{
double l,pi=3.14;
l=2*pi*r;
return l;
}
double fs(int r)
{
double s,pi=3.14;
s=pi*r*r;
return s;
}
int main()
{
int a;
cout<<"请输入圆的半径"<<endl;
return 0;
}
9.[目的]掌握递归的用法。
【题目内容】用递归方法求N阶勒让德多项式的值,递归公式为
【输入】x和n
【输出】多项式的值Pn。
#include<iostream>
using namespace std;
double fun(double n,int x)
{
if(n==0)
return 1;
[输入]m、n值
[输出] 的值
[提示]注意(m-n)小于零的情况的处理
5.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]已知
x的初始值为3.14159/4,用牛顿法求解方程 的近似解,要求精确到 。 的牛顿法为:
四、课后作业(写在实验报告中)
1.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[输入]用户选择和函数自变量值
[输出]如下菜单:
=======MENU======
1.。。。。。。。。。。。sin
2.。。。。。。。。。。。cos
3.。。。。。。。。。。。pow
4.。。。。。。。。。。。sqrt
0.。。。。。。。。。。。exit
==================
[提示]使用标准库函数、多分支选择结构。
cin>>a;
cout<<fl(a)<<endl;
cout<<fs(a)<<endl;
return 0;
}
4.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:判断这个整数是否素数,函数的返回值为判断结果。编写一个程序,从键盘输入任意1个整数,调用用户自定义函数来判断这个整数是否素数。
[输入]无
[输出]如下:
华氏温度摄氏温度
320.00
362.22
404.44
446.67
488.89
5211.11
5613.33
6015.56
6417.78
6820.00
7222.22
7624.44
8026.67
8428.89
8831.11
9233.33
9635.56
10037.78
[提示]主函数使用for(f=32;f<=100;f=f+4)
[输入]任意1个整数
[输出]是否素数的信息
[提示]函数的返回值可以一个标志变量表示,例如,flag=1,表示是素数;flag=0表示不是素数。主函数根据返回值的情况输出相应信息。
#include<iostream>
using namespace std;
int fun(int a)
{
int i,k,flag;
{
int i;
for(i=3;i<=100;i++)
{
if(fun(i)) cout<<i<<endl;
}
return 0;
}
8.[目的]掌握递归的用法。
【题目内容】编写计算m的n次方的递归函数。
【输入】m和n
【输出】m的n次方结果。
#include<iostream>
using namespace std;
for(i=2;i<a;i++)
{
k=a%i;
if(k==0) break;
}
if(i==a) flag=1;
else flag=0;
return flag;
}
int main()
{
int b;
cout<<"请输入一个整数"<<endl;
cin>>b;
if(fun(b)==0) cout<<"不是素数"<<endl;
}
6.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,该函数的功能是:输出一个用*号绘制的实心正方形。正方形的边长用整数side指定。编写一个程序,从键盘输入任意1个整数,调用用户自定义函数输出指定边长的正方形图形。如果要用#号绘制图形,程序应该如何修改?
[题目内容]编写一个用户自定义函数,该函数有2个数值参数x、n,函数的功能是:求解xn,函数的返回值为x的n次方的值。编写一个程序,调用用户自定义函数来求解53+48的值。
[输入]无
[输出]53+48的值
#include<iostream>
using namespace std;
int fun(int a,int b)
[输入]任意10个整数
[输出]这10个整数的奇偶性
[提示]在主函数中使用循环结构输入10个整数。根据子函数的返回值输出相应的判断结果信息。
3.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:求解这三个整数的最大值,函数的返回值为三个参数的最大值。编写一个程序,从键盘输入任意5个整数,分别两次调用用户自定义函数来求出这5个整数中的最大值。
[输入]任意1个整数
[输出]指定边长的正方形图形
[提示]函数void fun1(int side)
#include<iostream>
using namespace std;
int fun(int side)
{
int i,j;
for(i=1;i<=side;i++)
{
for(j=1;j<=side;j++)
for(i=2;i<a;i++)
{
k=a%i;
if(k==0) break;
}
if(i==a) flag=1;
else flag=0;
return flag;
}
int main()
{
int a,b,c,d,i,j;
[输入]任意5个整数
[输出]这5个整数的最大值
[提示]先用前三个整数调用函数,求出的最大值作为参数之一,再与另两个整数一起求出最大值即为所求。
4.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容] 表示从m各元素中抽出n个元素的排列的个数。它的计算公式为: 。编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:求解这个整数的阶乘,函数的返回值为这个整数的阶乘。编写一个程序,从键盘输入m、n值,分别两次调用用户自定义函数来求解 。
return 0;
}
10.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
【题目内容】求所有4位的可逆素数。可逆素数是指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。
#include<iostream>
using namespace std;
int fun(int a)
{
int i,k,flag;
return 0;
}
3.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个程序,从键盘输入圆的半径值,调用函数求解圆的面积和周长。
[输入]圆的半径值
[输出]圆的面积和周长
[提示]设计两个函数分别求圆的面积和周长(每个函数的return语句只能返回一个数值)。
#include<iostream>
else if(n==1)
return x;
else
return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n;
}
int main()
{
double n, i;
int x;
cout<<"请输入x和n:"<<endl;
cin>>x>>n;
i=fun(n,x);
cout<<i<<endl;
{
int i,j;
for(i=1;i<=side;i++)
{
for(j=1;j<=side;j++)
cout<<ch;
cout<<endl;
}
}
int main()
{
int fun(int side,char ch);
int s;char h;
cout<<"请输入正方形的边长和形状"<<endl;
cin>>s>>h;
double fun(int n, doublem)
{
if(n==0)
return 1;
else
returnm*fun(n-1,m);
}
int main()
{
double m, i;
int n;
cout<<"请输入m和n:"<<endl;
cin>>m>>n;
i=fun(n,m);
cout<<i<<endl;
cout<<"*";
cout<<endl;
}
}
int main()
{
int fun(int side);
int s;
cout<<"请输入正方形的边长"<<endl;
cin>>s;
fun(s);
return 0;
}
#include<iostream>
using namespace std;
int fun(int side,char ch)
{
int i,p=1;
for(i=1;i<=b;i++)
p*=a;
return p;
}
int main()
{
int fun(int a,int b);
cout<<fun(5,3)+fun(4,8);
return 0;
}
2.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,函数的功能是:将华氏温度转换为摄氏温度。编写一个程序,输出一个华氏温度与摄氏温度的对照表,其中华氏温度从32开始到100为止,步长为4。
相关文档
最新文档