第13周项目1逆序输出、加倍后输出元素

本文详细介绍了如何使用C++对数组进行初始化,并通过逆序输出数组元素,随后演示了如何根据用户输入对数组元素进行倍增操作。文章包括了数组初始化、逆序遍历和倍增输出的完整过程。

问题及代码:

/* 
*Copyright (c)2014,烟台大学计算机与控制工程学院 
*All rights reserved. 
*文件名称:number.cpp 
*作    者:单昕昕 
*完成日期:2014年11月20日 
*版 本 号:v1.0 
* 
*问题描述:创建一个有10个元素的整型数组,通过初始化,为数组中的前10个元素赋初值。由后往前输出数组中元素的值。改变元素的值,令所有元素加倍,输出改变后的值。
*程序输出:符合要求的有10个元素的整型数组。
*/  
#include <iostream>
using namespace std;
const int SIZE=10;
int main( )
{
    int a[10]= {1,3,7,13,25,33,63,71,101,222}; //初始化前10个元素
    int d[10]= { };  //新建数组为这个数组的改变备用
    int h[10]= { };
    int i,j,k,m;
    cout<<"前后往后,数组中的值是:"<<endl; //先输出原数组中的10个元素,便于对比
    for(i=0; i<SIZE; ++i)
    {
        cout<<a[i]<<" ";
    }
    cout<<endl;
    cout<<"由后往前,数组中的值是:"<<endl;  //倒序输出原数组中的10个元素
    for(i=9,j=0; j<=9; --i,++j)  //将原数组的最后一个赋给新数组的第一个,以此类推
    {
        h[j]=a[i];
        cout<<h[j]<<" ";
    }
    cout<<endl;
    cout<<"请输入要增加的倍数:"<<endl;  //自由选择将原数组放大m倍
    cin>>m;
    cout<<"改变"<<m<<"倍后,数组中的值是:"<<endl;
    for(i=0,k=0; i<SIZE; ++i,++k)  //依次将原数组中的所有元素放大m倍
    {
        d[k]=(a[i])*m;
        cout<<d[k]<<" ";
    }
    return 0;
}


 

运行结果:

 

知识点总结:

逆序输出。加倍后输出。

 

学习心得:

未知量一定要放在等式前面,居然犯了这种错误。另外再定义一个数组可以方便使用。
王老师有 n 块石头,编号从 1 到 n。第 i 号石头的重量是正整数 w i ​ 。 对于每一个 i,我们保证编号为 i 的石头比所有编号小于 i 的石头的重量总和还要重。 王老师有时会在使用天平秤称量物体时运用他收集的石头:他将物体放在一个盘子上,将一些石头放在另一个盘子上,如果两个盘子处于平衡状态,他就知道物体的重量与石头组合的重量相同。 当然,并不是所有的物体都可以用上述方法来称重:有时不存在与该物体重量相同的石头组合。 如果可以用一些石头的组合(可能是空集)来平衡重量为 x 的物体,则称重量 x 是可接受的。 例如,如果王老师拥有的石头重量为 3 和 6,则可接受的重量有 0,3,6,9。 对于给定的 n 块石头,考虑所有不同的可接受重量的严格递增序列,请求出此序列中第 k 个元素的重量是多少。如果不存在第 k 个元素,则输出1。 输入格 输入的第一行,包含一个正整数 n,表示石头的数量。 输入的第二行,包含 n 个正整数,表示每个石头的重量。 输入的第三行,包含一个正整数,表示题目中所给出的 k。 输出 输出共一行,包含一个整数,即可接受重量的第 k 个元素,若不存在则输出1。 样例输入 1 2 4 7 1 样例输出 1 0 样例输入 2 5 1 3 7 13 30 10 样例输出 2 14 ,dfs用静态数组,数组下标从0开始用
08-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值