第五章作业一

第五章 函数学习要求和实验

  • 学习要求

理解函数定义的意义。

掌握函数定义格式。

了解函数调用方式:值调用和引用调用。

掌握函数嵌套调用方法。

掌握数组作为函数的参数的使用。

理解全局变量、局部变量,动态变量、静态变量的概念,掌握不同变量的作用域与生命周期。

进一步积累程序调试经验。
  •  实验作业

1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;

2.编程实现课本每一个编程习题。

3. 编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。

4.编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果。

5.编写一个函数,输入一个十六进制数,输出相应的十进制数。

例题

3

#include<iostream>  
using namespace std;  
double p(double);  
  int main()  
{  
    double s = p(5.0);  
    cout<<"面积为"<<s<<endl;  
    return 0;  
}  
  double p(double r)  
{  
    double pi =3.14;  
    double s =pi *r*r;  
    return s;  }
4
#include<iostream>  
using namespace std;  
  int sum(int x,int y)  
{  
	  int t;t=x+y;
	  return t;}
  int main()
  {
	  int a,b,c;
	  a=15,b=20;
	  c=sum(a,b);
	  cout<<a<<"+"<<b<<"="<<c<<endl;
	  return 0;
  }

4

#include<iostream>  
using namespace std;  
  int sum(int x,int y)  
{  
	  int t;t=x+y;
	  return t;}
  int main()
  {
	  int a,b,c;
	  a=15,b=20;
	  c=sum(a,b);
	  cout<<a<<"+"<<b<<"="<<c<<endl;
	  return 0;
  }

7

#include<iostream>  
using namespace std;  
  
int p(int x)  
{  x=x*x;
return x;}
int main()
{int t=10;int s=p(t);
cout<<"t="<<t<<'\t'<<"p("<<t<<")="<<s<<endl;
    
    return 0;  
}



13

#include<iostream>  
using namespace std;  
  
long f2(int);  
long f1(int p)  
{  
    int k;  
    long r;  
    k=p*p;  
    r= f2(k);  
    return r;  
}  
  long f2(int q)  
{  
    long fact = 1;  
    for(int i =1;i<=q;i++)  
        fact *= i;  
    return fact;  
}  
  int main()  
{  
    int i;  
    long sum =0;  
    for(i =2; i<=3;i++)  
        sum += f1(i);  
    cout<<"sum = "<<sum<<endl;  
    return 0;  
}  


15

#include<iostream>  
using namespace std;  
  
float F(int n);  
  int main()  
{  
    int a;  
    float p;  
    cout<<"input an integer number:";  
    cin>>a;  
    p =F(a);  
    cout<<a<<"! ="<<p<<endl;  
   return 0;  
}  
  float F(int n)  
{  
    float fact;  
    if(n == 0)  
        fact = 1;  
    else  
      fact = n * F(n-1);  
      return fact;  
  }  



20

#include<iostream>  
using namespace std;  
  
  
void sort(int);  
void echoa();  


nt a[5] ={6,3,9,8,2};  
  int main()  
{  
    echoa();  
    sort(5);  
    echoa();  
    return 0;  
}  
  
void echoa()  
{  
    for(int i =0;i<5;i++)  
    cout<<a[i]<<'\t';  
    cout<<endl;  
}  
  void sort(int n)  
{  
    int i,j,min,temp;  
    for(i =0;i<n-1;i++)  
    {  
        min =i;  
        for(j=i+1;j<n;j++)  
        if(a[j]<a[min])  
         min = j;  
        temp = a[i];a[i]=a[min];a[min]=temp;  
    }  }



23

#include<iostream>  
using namespace std;  
  
 int f(int);
 int main()
 {
	 int i,k;
	 cout<<"输入一个非负整数:";
		 cin>>k;
	 for(i=1;i<=k;i++)
		 cout<<i<<"!="<<f(i)<<endl;
	 return 0;}
 int f(int n)
 {
	 static int f=1;f=f*n;
	 return f;
 }




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值