第五章作业

来源:互联网 发布:淘宝客服投诉电话多少 编辑:程序博客网 时间:2024/05/22 09:51
1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;

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

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

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

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

例5.1

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


例5.2

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


例5.3

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


例5.4

#include <iostream>using namespace std;int sum(int x,int y){int tem;tem=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;}

例5.5

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


例 5.6

#include <iostream>using namespace std;void swap(int u,int v);int main(){int a=3,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;temp=u;u=v;v=temp;}


例5.7

#include <iostream>using namespace std;void swap(int& u,int &v);int main(){int a=3,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;temp=u;u=v;v=temp;}


 

例5.8

#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'<<endl<<"sqrt("<<t<<")="<<s<<endl;return 0;}


例5.10

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


 

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


 

例5.13

 


#include <iostream>using namespace std;void swap(int u,int v);int main(){int a=3,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;temp=u;u=v;v=temp;}

例5.14

#include <iostream>#include <cmath>using namespace std;float f(float x);float root(float x1,float x2);float point(float x1,float x2);int main(){float x1,x2,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 f(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);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;}

例5.15

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


例5.16

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


 

例5.17

#include <iostream>using namespace std;int i;int main(){i=5;{int i;i=7;cout<<"外层i="<<i<<endl;}cout<<"外层i="<<i<<endl;return 0;}


 

例5.18

#include <iostream>using namespace std;int i=1;int main(){cout<<"i="<<i<<endl;int i=5;cout<<"i="<<i<<endl;{int i=7;cout<<"i="<<i<<endl;cout<<"i="<<::i<<endl;}cout<<"i="<<i<<endl;cout<<"i="<<::i<<endl;return 0;}


 

例5.19

#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=-13;


 

例5.20

#include <iostream>using namespace std;void sort(int);void echoa();int a[5]={1,2,3,4,5};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;}}


 

例5.21


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


#include <iostream>using namespace std;int a=3,b=5;int main(){int a=8;int c;c=a>b?a:b;cout<<c<<endl;return 0;}


 

例5.22

#include <iostream>using namespace std;int f(int a){int b=0;static int c=3;b++;c++;return (a+b+c);}                    int main(){int a=2,i;for(i=0;i<3;i++)cout<<f(a)<<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);int main(){float x1,x2,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 f(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);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;}


例5.23

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


例5.24

.

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


例5.25

#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);cout<<"a="<<a<<"\tm="<<m<<"\td="<<d<<endl;return 0;}extern int a;int power(int n){int i,y=1;for(i=1;i<=n;i++)y*=a;return y;}


 

 


0 0