Accelerated C++ 习题 第2章

Accelerated C++ 习题 第2章

2-5 编写一个程序,让它输出一系列的“*”字符,程序输出的这些字符将构成一个正方形,一个长方形和一个三角形。

正方形

	int a = 0;
    cout << "输入正方向边长:";
    cin >> a;
    for (int r = 0; r < a; r++)//a行
    {
        //输出列
        for(int c = 0; c < a; c++)
        {
            //输出边界
            if (r == 0 || r == a - 1 || c == 0 || c == a - 1)
                cout << '*';
            else
                cout << ' ';
        }
        cout << endl;//换行
    }

长方形

	int h = 0;
    int w = 0;
    cout << "输入长方向的宽:";
    cin >> w;
    cout << "输入长方形的高:";
    cin >> h;
    for (int r = 0; r < h; r++)//a行
    {
        //输出列
        for(int c = 0; c < w; c++)
        {
            //输出边界
            if (r == 0 || r == h - 1 || c == 0 || c == w - 1)
                cout << '*';
            else
                cout << ' ';
        }
        cout << endl;//换行
    }

等腰三角形

int h = 15;
   //等腰三角形
   for (int r = 0; r < h; r++)//当前行号为r
   {
       for (int c = 0; c < h * 2 - 1; ++c) //控制循环次数
       {
           //输出顶点
           if (r == 0)
               if (c == h - r - 1)
                   cout << '*';
               else
                   cout << ' ';
           //输出底边
           else if (r == h - 1)
               cout << '*';
           //输出两条侧边
           else if (r > 0 && r < h - 1)
               if (c == h - r - 1 || c == h + r - 1)
                   cout << '*';
               else
                   cout << ' ';    
       }
       cout << endl;//换行

2-6 下面的代码是做什么的?

	int i=0;
    while(i<10)
    {
        i+=1;
        std::cout << i << std::endl;
    }

每行依次输出1-10

2-7 编写一个程序来一次输出从10~-5的整数

    int i = 10;
    while (i >= -5)
    {
        cout << i << ' ';
        --i;
    }

2-8 编写一个程序来计算区间[1,10)中的所有数值的乘积。

   int s = 1;
    for (int i = 1; i < 10; i++)
    {
        s *= i;  
    }
    cout << s << endl;

2-9 编写一个程序,让用户输入两个数值并告知用户在这两个数值中哪一个较大

	int max = 0;
    int m, n;
    cout << "请输入2个数:";
    cin >> m >> n;

    if (m == n)
    {
        cout << "一样大" << endl;
    }
    else
    { 
        max = m > n ? m : n;
        cout << "2个数中比较大的是: " << max << endl;
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值