第七周作业1
2014-04-18 08:44
232 查看
调试书中例题
#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; 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)<<endl; 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 intput two numbers:"; 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 v); 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; temp=u; u=v; v=temp; }
#include<iostream> using namespace std; void swap(int &u,int &v); 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; temp=u; u=v; v=temp; }
#include<iostream> using namespace std; void display(int x,int y) { cout<<x<<" "<<y; return; } int main() { float a; int b; cin>>b>>a; display(b,a); return 0; }
#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; 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; }
#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 9b54 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; }