c++高级程序设计语言实验四循环语句

学校

吉林大学珠海学院

班级

科目

程序设计基础

学院

计算机学院

姓名

日期

专业

学号

成绩

实验名称

循环语句

实验目的

1. 熟悉C++语言中的流程控制。

2. 掌握break和continue语句的使用方法。

3. 学会顺序、选择、循环程序的设计。

4. 养成良好的程序设计习惯,程序书写风格。

实验任务

  1. 验证教材第四章例子程序ch04_04(第68页 修正版第67页)、ch04_05(第69页 修正版第69页)、ch04_06(第69页 修正版第69页)、ch04_07(第70页 修正版第70页)、ch04_08(第71页 修正版第70页)。
  2. 4.8(第76页 修正版第74页)。 ex04_08_01和ex04_08_02

用循环语句打印如图案:

(ex04_08_01)

(ex04_08_02)

  1. 4.9(第76页 修正版第75页)。 ex04_09_01、 ex04_09_02和ex04_09_03

编程打印乘法九九表:

(ex04_09_01)

(ex04_09_02)

(ex04_09_03)

  1. 4.10(第77页 修正版第76页)。 ex04_10

编程求解问题,若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛。

实验内容

  1. ch04_04

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

int main()

{

   double s=0,x=1;

   long k=1;

   int sign =1;

   while(abs(x)>1e-8)

   {

      s+=8;

      k+=2;

      sign *=-1;

      x=sign/double(k);

   }

   s*=4;

   cout << "the pi is" << s

  

 <<fixed << setprecision(8) << s << endl;

  

   return 0;

}

  1. ch04_05

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

int main()

{

   double s=0,x=1;

 for(int n=1;fabs(x)>1e-8;n++,x*=(-1.0)*(2*n-3)/(2*n-1))

 s+=x;

 s*=4;

 cout << "the pi is" << s << endl;

  

   return 0;

}

  1. ch04_06

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

int main()

{

   long m,i;

   cout << "please input a number: " << endl;

   cin >> m;

   for(i=2;i<m;i++)

   if(m%i==0)

   break;

   if(m==i)

   cout << "m is prime" << endl;

   else

   cout << "m isn't prime " << endl;

   return 0;

  1. ch04_07

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

int main()

{

   long m;

   cout << "please input a number" << endl;

   cin >> m;

   double sqrtm = sqrt(m);

   int i;

   for(i=2;i<=sqrtm;i++)

   if(m%i==0)

   break;

   if(sqrtm<i)

   cout << "m is prime" << endl;

   else

   cout << "m isn't prime " << endl;

   return 0;

}

  1. ch04_08

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

int main()

{

long a,b,l=0;

cout << "please input two numbers "<< endl;

cin >> a>> b;

cout << "primes from" << a << "to" << b << "is :" << endl;

if(a==2)

cout << "2";

if(a%2==0)

a++;

for(long m=a;m<b;m+=2)

{

   int sqrtm = sqrt(m);

   int i;

   for(i=2;i<=sqrtm;i++)

   if(m%i==0)

   break;

   if(i>sqrtm)

   {

      if(l++%10==0)

      cout << endl;

      cout << setw(5) << m;

   }

}

   return 0;

}

  1. ch04_09

  1. ex04_08

ex04_08_01

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

void print()

{

   const int a=10;

   for(int i=1;i<=10;i++)

   {

      for(int k=1;k<=a-i;k++)

      {

          cout << " ";

      }

      for(int j=1;j<=2*i;j++)

      { 

          cout << "#" ;

      }

      cout << endl;

   }

  

}

int main()

{

   print();

   return 0;

}

ex04_08_02

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

void print()

{

   for(int i=17;i>=10;i--)

   {

      for(int k=0;k<17-i;k++)

      {

          cout << " ";

      }

      for(int j=1;j<i+1;j++)

      {

          cout << " #" ;

      }

      cout << endl;

   }

}

int main()

{

   print();

   return 0;

}

  1. ex04_09

ex04_09_01

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

void table()

{

for(int j=1;j<=9;j++)

{

 

   for(int i =1;i<=9;i++)

   {

      cout << j*i  << "\t    ";

   }

   cout << endl;

  

}

}

int main()

{

   table();

   return 0;

}

ex04_09_02

#include<iostream>

#include<iomanip>

#include<cmath>

using namespace std;

void table()

{

for(int j=1;j<=9;j++)

{

 

   for(int i =1;i<=j;i++)

   {

      cout << j*i  << "\t    ";

   }

   cout << endl;

  

}

}

int main()

{

   table();

   return 0;

}

ex04_09_03

#include<iostream>

using namespace std;

//表格顶部

void head()

{

    for (int i = 1; i < 10; i++)

    {

        cout << i << "       ";

    }

    cout << endl;

    cout << "-----------------------------------------------------------------------" << endl;

}

//乘法表

void table()

{

    for (int i = 1; i <= 9; i++)

    {

        for (int j = 1,m=i-1; j < 10; j++,m--)

        {

            if (m > 0)//根据每行的规律把j的输出换成空格

            {

                cout << " \t";

            }

            else

            {

                cout << i * j << "\t";

               

            }

        }

        cout << endl;

    }

}

int main()

    head();

    table();

    system("pause");

    return 0;

}

  1. ex04_10

#include<iostream>

using namespace std;

int cow(int m)

{

    if (m == 1 || m == 2 || m == 3)

    {

        return 1;

    }

    else

    {

        return cow(m - 1) + cow(m - 3);

    }

}

int main()

{

    int num;

    cout << "请输入年数" << endl;

    cin >> num;

  

    cout << "第N年共" << cow(num) << "头" << endl;

    system("pause");

    return 0;

}

小结

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值