C++入门必做题 答案 10

小提示:部分题目的图形有偏移现象;解决办法为,将题目拷贝到记事本,字体设置为‘Fixedsys’。

(编译环境:windowsXP_sp3 + Visual_C++_2008,保证编译成功,正常运行。)

 

 10. 如图1所示,编写程序计算               ┎┰┰┰┰┰┰┰┰┰┒
    大大小小正方形共有多少?当最小          ┠╂╂╂╂╂╂╂╂╂┨
    正方行边长为1时,它们的总面积          ┠╂╂╂╂╂╂╂╂╂┨
    共为多少?                              ┠╂╂╂╂╂╂╂╂╂┨
                                            ┠╂╂╂╂╂╂╂╂╂┨
                                            ┠╂╂╂╂╂╂╂╂╂┨
                                            ┠╂╂╂╂╂╂╂╂╂┨
                                            ┠╂╂╂╂╂╂╂╂╂┨
                                            ┠╂╂╂╂╂╂╂╂╂┨
                                            ┠╂╂╂╂╂╂╂╂╂┨
                                            ┖┸┸┸┸┸┸┸┸┸┚
 
代码如下:

 

#include<iostream>
using namespace::std;


void GetChangeback(int &x1, int &x2, int &x3, int &x4);
void ReportNumber(int x1, int x2, int x3, int x4);

void main()
{
 int m, n, k; //定义多米格的长、宽:m、n,和数组长度k
 cout<<"请输入多米格的长和宽"<<endl;
 cin>>m>>n;

 k = (m<=n) ? m : n; //k取多米格的长、宽的较小值

 int *s = new int [k]; //定义数组,长度为k
 for(int i=0; i<k; i++)
  s[i] = (m-i)*(n-i); //数组的第i个元素用于记录边长为i+1的正方形数量

 int sum = 0; //sum用于记录大大小小的所有正方形个数之和
 int area = 0; area用于记录大大小小的所有正方形面积之和
 for(int i=0; i<k; i++)
 {
  sum += s[i]; //正方形个数累加
  area += (i+1)*(i+1)*s[i]; //正方形面积累加
 }

 cout<<"大大小小的正方形一共有:"<<sum<<endl;
 cout<<"他们的总面积是:"<<area<<endl;

 system("pause");
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值