第七周作业(课本例题)

以下是课本的例题:


#include<iostream>  
using namespace std;  
  
void display()  
{  
    cout<<"This is an example."<<endl;  
}  
int main()  
{  
    display();  
  
    return 0;  

#include<iostream>  
using namespace std;  
  
double min(double x,double y)  
{  
    return x<y?x:y;  
}  
int main()  
{  
    cout<<min(6.0,5.0);  
  
    return 0;  
}  

#include<iostream>  
using namespace std;  
  
double circleArea(double);  
  
int main()  
{  
    double area = circleArea(5.0);  
    cout<<"area = "<<area<<endl;  
      
    return 0;  
}  
double circleArea(double r)  
{  
    double pi=3.14;  
    double area = pi*r*r;  
      
    return area;  
}  

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

#include<iostream>  
using namespace std;  
  
int ncomp(int i,int j)  
{  
    if(i>j)return 1;  
    if(i==j)return 0;  
      
    return -1;  
}  
int main()  
{  
    int k=2;  
    int n=ncomp(k,k++);  
    cout<<n;  
     
    return 0;  
}  

#include<iostream>  
using namespace std;  
  
int max(int u,int v)  
{  
    int w;  
    w=u>v?u:v;  
      
    return w;  
}  
int main()  
{  
     int a,b,c;  
     cout<<"please input two number:";  
     cin>>a>>b;  
     c=max(a,b);  
     cout<<"a="<<a<<"b="<<b<<endl;  
     cout<<"Max is"<<c<<endl;  
  
     return 0;  
}  

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

#include<iostream>  
using namespace std;  
  
void swap(int&u,int &);  
  
int main()  
{  
    int a=3;  
    int b=4;  
    cout<<"a ="<<a<<"\tb ="<<b<<endl;  
    swap(a,b);  
    cout<<"a ="<<a<<"\tb ="<<b<<endl;  
  
    return 0;  
}  
void swap(int u,int v)  
{  
    int temp = v;  
    v=u;  
    u=temp;  
}  

#include<iostream>  
using namespace std;  
  
void display(int x,float y)  
{  
   cout<<x<<" "<<y;  
   return;  
}  
int main()  
{  
   float a;  
   int b;  
   cin>>b>>a;  
   display(b,a);  
  
   return 0;  
  
}  

#include<iostream>  
using namespace std;  
  
void swap(int&u,int &);  
  
int main()  
{  
    int a=3;  
    int b=4;  
    cout<<"a ="<<a<<"\tb ="<<b<<endl;  
    swap(a,b);  
    cout<<"a ="<<a<<"\tb ="<<b<<endl;  
  
    return 0;  
}  
void swap(int &u,int &v)  
{  
    int temp = v;  
    v=u;  
    u=temp;  
}  

#include<iostream>  
#include<cmath>  
using namespace std;  
  
void GetRoots(/*in*/double,/*in*/double,/*in*/double,  
              /*out*/double&,/*out*/double&);  
//函数GetRoots 用于求一元二次方程的两个根  
//前三个形参为流入参数,是值的调用,分别用于接收主调函数传递的三个系数值  
//后两个形参为流出参数,是引用调用,将计算后的两个根回传给主调函数  
int main()  
{  
    double a,b,c;  
    double root1,root2;  
    cout<<"输入方程的三个系数a,b,c:"<<endl;  
    cin>>a>>b>>c;  
    GetRoots(a,b,c,root1,root2);  
    //a,b,c作为值调用的三个实参,必须要有初始值  
    //root1.root2作为引用调用的两个实参,可以没有初始值  
    cout<<"root1= "<<root1<<"root2 ="<<root2<<endl;  
  
    return 0;  
  
}  
void GetRoots(/*in*/double a,/*in*/double b,/*in*/double c,  
              /*out*/double&root1,/*out*/double&root2)  
{  
    double temp;  
    temp=b*b-4.0*a*c;  
    root1=(-b+sqrt(temp))/(2.0/a);  
    root2=(-b-sqrt(temp))/(2.0/a);  
      
}  

#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;  
}  

#include<iostream>  
#include<cmath>  
using namespace std;  
  
float f(float x);              //求函数的值  
float root(float x1,float x2);  //求方程的根  
float point(float x1,float x2); //求与x轴的交点  
  
int main()  
{  
    float x1,x2,y1,y2,x;  
    do  
    {  
        cout<<"请输入根所在的范围:";  
        cin>>x1>>x2;  
        y1=f(x1);  
        y2=f(x2);  
        cout<<"两端点的值为["<<y1<<","<<y2<<"]"<<endl;  
  
    }while(y1*y2>=0);  
    x=root(x1,x2);  
    cout<<"在"<<x1<<"与"<<x2<<"之间,方程的解为"<<x<<endl;  
  
    return 0;  
     
}  
float f1(float x)  
{  
    return(x*x*x-4*x*x+6*x-10);  
}  
float root(float x1,float x2)  
{  
    float y1,x,y;  
    y1=f(x1);  
    do  
    {  
        x=point(x1,x2);  
        y=f(x);  
        if(y*y1>0)  
        {  
           y1=y;x1=x;  
        }  
        else x2=x;  
    }while(fabs(y)>=0.0001);  
  
    return x;  
  
}  
float point(float x1,float x2)  
{  
    float y;  
    y =(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));  
  
    return y;  
}  

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

#include<iostream>  
using namespace std;  
  
const N=8;  
long fibo(int n);  
  
int main()  
{  
   long f=fibo(N);  
   cout<<"Fibonacci数列第8项的值为:"<<f<<endl;  
  
   return 0;  
}  
long fibo(int n)  
{  
   if(n==1)return 1L;  
   else if(n==2)return 1L;  
   else  
       return fibo(n-1)+fibo(n-2);  
  
}  

#include<iostream>  
using namespace std;  
  
int i;            //文件作用域  
int main()  
{  
   i=5;           //给文件作用域的变量i赋值  
   {  
      int i;      //块作用域  
      i=7;          
      cout<<"内层i ="<<i<<endl;  //输出7  
   }   
   cout<<"外层i ="<<i<<endl;     //输出5  
  
   return 0;  
}  

#include<iostream>  
using namespace std;  
  
int i=1;                    //定义具有文件作用域的变量i  
int main()                    
{  
    cout<<"i= "<<i<<endl;   //输出具有文件作用域的变量i的值1  
    int i=5;                //定义局部变量i,此时覆盖文件作用域变量i  
    cout<<"i= "<<i<<endl;   //此时输出上一条语句定义的局部变量i的值5  
    {  
       int i=7;               //定义块作用域变量i,此时覆盖前面定义的两个变量i  
       cout<<"i= "<<i<<endl; //输出块作用域变量i的值7  
       cout<<"i= "<<::i<<endl; //输出文件作用域变量i的值1  
    }  
    cout<<"i= "<<i<<endl;  
    cout<<"i= "<<::i<<endl;  
  
    return 0;  
} 

#include<iostream>  
using namespace std;  
  
int max(int x,int y)  
{  
    int z;  
    z=x>y?x:y;  
    return z;  
}  
int main()  
{  
   extern int a,b;        //外部变量说明  
   cout<<max(a,b)<<endl;  
  
   return 0;  
} 

int a=13,b=-8;            //定义全局变量

#include<iostream>  
using namespace std;  
  
void sort(int);  
void echoa();  
int a[5] = {6,3,9,8,2};         //定义全局数组a  
  
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=1;  
       for(j=i+1;j<n;j++)  
           if(a[j]<a[min])  
               min=j;  
       temp=a[i];a[i]=a[min];a[min]=temp;  
    }  
  
}

#include<iostream>  
using namespace std;  
  
int a=3,b=5;         //定义a,b全局变量  
  
int main()  
{  
   int a=8;          //a是局部变量  
   int c;  
   c=a>b?a:b;        //此时,a=8,b=5  
     
   cout<<c<<endl;  
  
   return 0;  
}  

#include<iostream>  
using namespace std;  
  
int f(int a)  
{  
   auto int b=0;     //b为自动局部变量  
   static int c=3;   //c为静态局部变量  
   b++;  
   c++;  
   return (a+b-c);  
}  
int main()  
{  
    int a=2,i;  
    for(i=0;i<3;i++)  //三次调用f函数  
       cout<<f(a)<<endl;  
      
    return 0;  
}  

#include<iostream>  
using namespace std;  
  
int fun(int);  
  
int main()  
{  
    int i,k;  
    cout<<"请输入一个非负整数:";  
    cin>>k;  
    for(i=1;i<=k;i++)  
        cout<<i<<"!="<<fun(i)<<endl;  
      
    return 0;  
  
}  
int fun(int n)  
{  
    static int f=1;            //f为静态局部变量,每一次函数执行后i!的值都会保留  
    f=f*n;  
    return f;  
}  

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

//文件file1.cpp  
#include<iostream>  
using namespace std;  
  
int a;                    //全局变量  
int power(int n);         //原型说明  
  
int main()  
{  
    int b=3,c,d,m;  
    cout<<"enter a and m:"<<endl;  
    cin>>a>>m;  
    c=a*b;  
    cout<<"a= "<<a<<"\tb= "<<b<<"\tc= "<<c<<endl;  
    d=power(m);                                     //调用power函数,求a的m次方  
    cout<<"a= "<<a<<"\tm= "<<b<<"\td= "<<d<<endl;  
  
    return 0;  
      
}  
//文件file2,cpp  
extern int a;  
  
int power(int n)                 //该函数的功能是求a的n次方  
{  
    int i,y=1;  
    for(i=1;i<=n;ti++)  
        y*=a;  
    return y;  
}

也不知道这次能不能上交成功。。。。。快崩溃了。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值