第七、八周作业(2)

来源:互联网 发布:淘宝实名认证怎么查询 编辑:程序博客网 时间:2024/04/29 23:05

课本例题:

/********说明下列程序的执行过程和运算结果*****/#include<iostream>  #include<cmath>  using namespace std;  double squ(double);    int main()  {      double x;      cout<<"please input x:"<<"   ";      cin>>x;                         cout<<"The square root of  "<<x<<"  is  "<<squ(x)<<endl;     return 0;                 }  double squ(double x)  {      double s1,s2;      s1=0.5*(1.0+x);      do      {          s2=s1;                            s1=(s2+x/s2)*0.5;               }while(fabs(s2-s1)>1.0E-6);       return s1;  } 

/****求整数次幂的函数****/#include <iostream>   using namespace std;  long int Power(int base,int exponent); int main()  {      int base,exponent,result;      cout<<"请输入基数:"<<endl;      cin>>base;      cout<<"请输入幂的大小:"<<endl;      cin>>exponent;      result=Power(base,exponent);      cout <<base<<"^"<<exponent<<" = "<<result<<endl;      return 0;  }  long int Power(int base,int exponent)  {      int i,result=1;      for(i=0;i<exponent;i++)      {          result*=base;      }      return result;  }  

/*****判断一个正整数是否是素数****/#include <iostream>    using namespace std; void judge(int num); int main()  {      int num;      cout<<"请输入一个整数: "<<endl;      cin>>num;      judge(num);      return 0;  }  void judge(int num)  {      int i,jud=0;      for(i=2;i<num;i++)          if(num%i==0)          {              cout<<"该数不是素数。"<<endl;              jud++;              break;          }      if(jud==0)          cout<<"该数是素数"<<endl;  }  


/****习题4********/#include <iostream>   using namespace std;int fun(int num);   int main()  {      int num,result;      cout<<"请输入一个整数: "<<endl;      cin>>num;      result=fun(num);      cout <<"颠倒后结果为:"<<result<<endl;      return 0;  }  int fun(int num)  {      int result=0;      while(num)      {          result+=num%10;          num=num/10;          result*=10;      }      result/=10;      return result;  }


/******习题5*********/  #include <iostream>   using namespace std;  void grade(double);  int main()  {      double a;      cout<<"请输入一个百分制分数:"<<endl;      cin>>a;      grade(a);      return 0;  }void grade(double n){          if(n>85&&n<=100)          cout<<"the grade is A"<<endl;      if(n>75&&n<=85)          cout<<"the grade is B"<<endl;      if(n>=60&&n<=75)          cout<<"the grade is C"<<endl;      if(n>=0&&n<60)          cout<<"the grade is D"<<endl;    elsecout<<"请重新输入一个百分之分数:"<<endl;} 

/******习题6*********/  #include <iostream>  using namespace std;  void ave(double a[10])  {  int i;    double sum=0,ave;      for(i=0;i<10;i++)         sum+=a[i];      ave=sum/10;      cout<<"10个学生平均成绩为:"<<ave<<endl;  }  int main()  {      double a[10];      cout<<"请分别输入10个学生的成绩"<<endl;      for(int i=0;i<10;i++)         cin>>a[i];      ave(a);      return 0;  }  


/*****习题7********/using namespace std;  int gy_max(int m,int n);  int gb_min(int p,int q);  int main()  {      int a,b;      cout<<"输入两个整数:"<<endl;      cin>>a>>b;      cout<<"求得两个整数的最大公约数是:"<<gy_max(a,b)<<endl;      cout<<"求得两个整数的最小公倍数是:"<<gb_min(a,b)<<endl;      return 0;  }  int gy_max(int m,int n)  {      int max,int min;      max=m>n?m:n;      min=m<n?m:n;      int res;      res=max%min;      if(res==0)      return min;      else      gy_max(min,res);  }  int gb_min(int p,int q)  {      int x;      x=p*q/gy_max(p,q);       return x;  } 


/*****习题8********/#include <iostream>   using namespace std;  void fun_1();  void fun_2();  void fun_3(); int main()  {      cout <<"全部输出:"<<endl;      fun_1();      cout <<endl<<endl;      cout <<"对角线以下输出:"<<endl;      fun_2();      cout <<endl<<endl;      cout <<"对角线以上输出:"<<endl;      fun_3();      cout <<endl;      return 0;  }  void fun_1()  {      int fac_1,fac_2,pro;      for(fac_2=1;fac_2<=9;fac_2++)      {          for(fac_1=1;fac_1<=9;fac_1++)          {              pro=(fac_1*fac_2);              cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" ";              if (pro<10)                  cout<<" ";          }          cout << endl;      }  }  void fun_2()  {      int fac_1,fac_2,pro;      for(fac_2=1;fac_2<=9;fac_2++)      {          for(fac_1=1;fac_1<=fac_2;fac_1++)          {              pro=(fac_1*fac_2);              cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" ";              if (pro<10)                  cout<<" ";          }          cout << endl;      }  }  void fun_3()  {      int fac_1,fac_2,pro;      for(fac_2=1;fac_2<=9;fac_2++)      {          for(fac_1=1;;fac_1++)          {              if(fac_1<fac_2)                  cout<<"        ";              else              {                  pro=fac_1*fac_2;                  cout <<fac_1<<"×"<<fac_2<<"="<<pro<<" ";                  if (pro<10)                      cout <<" ";              }              if(fac_1==9)                  break;          }          cout <<endl;      }  }


/*****习题9********/#include<iostream>  using namespace std;  int max(int a,int b, int c);  int min(int&a,int&b, int&c);  int aver(int a,int b,int c);  double average;  int main()  {      int a,b,c;      cout<<"输入三个整数:"<<endl;      cin>>a>>b>>c;      cout<<"三个整数的最大值是:"<<max(a,b,c)<<endl;                  min(a,b,c);      cout<<"三个整数的最小值是:"<<a<<endl;                  aver(a,b,c);      cout<<"三个整数的平均值是:"<<average<<endl;                  return 0;  }  int max(int a,int b, int c)                                    //用值调用的方法  {      int max_1;      max_1=a>b?a:b;      max_1=max_1>c?max_1:c;      return max_1;  }  int min(int&a,int&b, int&c)                                    //用引用调用的方法  {       a=a<b?a:b;       a=a<c?a:c;       return 0;  }  int aver(int a,int b,int c)                                       //用全局变量  {       double e,f,g;       e=double(a);       f=double(b);       g=double(c);       average=(e+f+g)/3;       return 0;  }


/*******习题10******/#include<iostream>  using namespace std;   void func();  int n=1;  int main()  {      static int a;                                      int b=-10;       cout<<"a:"<<a<<"\tb:"<<b<<"\tn:"<<n<<endl;       b+=4;       func();                                      cout<<"a:"<<a<<"\tb:"<<b<<"\tn:"<<n<<endl;        n+=10;                                           func();                                      return 0;  }  void func()  {      static int a=2;      int b=5;      a+=2;      n+=12;      b+=5;      cout<<"a:"<<a<<"\tb:"<<b<<"\tn:"<<n<<endl;  } 


/*******第三大题******/#include<iostream>  using namespace std;  void chengji();  int main()  {      chengji();      return 0;  }  void chengji()  {      int sum=0,i,j;      int a[4][5],b[5][3],c[4][3];      cout<<"输入矩阵4x5的元素:"<<endl;      for(i=0;i<4;i++)      for(j=0;j<5;j++)          cin>>a[i][j];      cout<<"输入矩阵5x3的元素:"<<endl;      for(i=0;i<5;i++)      for(j=0;j<3;j++)          cin>>b[i][j];      cout<<"两个矩阵的积是:"<<endl;      for(i=0;i<4;i++)      for(j=0;j<3;j++)      {          for(int k=0;k<5;k++)         {            sum+=a[i][k]*b[j][k];            c[i][j]=sum;         }            sum=0;      }        for(i=0;i<4;i++)      {          for(j=0;j<3;j++)          cout<<c[i][j]<<" ";          cout<<endl;      }  } 

/*******第四大题******/#include<iostream>  using namespace std;    int fun1(int n) {      int i,sum1=1;      for(i=1;i<=n;i++)          sum1*=i;      return sum1;    }    void fun2(int n){            int i,sum2=0;      for(i=1;i<=n;i++)      sum2+=fun1(i);      cout<<"S[n]=1!+21+3!+...n!= "<<sum2<<endl;  }    int main()  {      int n;      cout<<"请输入一个整数n: "<<endl;      cin>>n;      fun2(n);      return 0;    }

/*******第五大题******/#include <iostream>   using namespace std; void fun(int n);    int main()  {      int n;      cout << "请输入一个16进制的数: ";      cin >>hex>>n;      fun(n);      return 0;  }  void fun(int n)  {      cout <<"该数的十进制数为:"<<n<<endl;  }  


















0 0