结对开发实验

组员:石鹤 李海超

一、问题

书店针对《哈利波特》系列书籍进行促销活动,一共5卷,单独一卷售价8元,具体折扣如下:本数对应的折扣分别为:2本—5%,3本—10%,4本—20%,5本—25%。根据购买的卷数以及本数,会对应不同的折扣规则情况。单独一本书只会对应一个折扣规则。设计算法能够计算出读者购买一批书的最低价格。

二、设计思路

1到5本书买越多越便宜,6到9本书得分类考虑,10本及以上是与1到9本一致。

三、源代码

#include<iostream.h>
int main()
{
    int numbook,keybook,i;
    double sum[6]={0,8,15.2,21.6,25.6,30},dissum=60;
    cout<<"input:";
    cin>>numbook;
    keybook=numbook%10;
    if(keybook>5)
    {
        for(i=keybook-5;i<=5;i++)
        {
            if((sum[keybook-i]+sum[i])<dissum)
            {
                dissum=sum[keybook-i]+sum[i];
            }
        }
    }
    else
    {
        dissum=sum[keybook]+(numbook/10)*60;
    }
    cout<<"sum:"<<dissum;
    return 0;
}

四、结果截图

五、实验心得

考虑好循环的问题,其它没有什么难度。

时间: 2024-08-09 19:53:54

结对开发实验的相关文章

结对开发之返回一个二维整数数组中最大联通子数组的和

一.题目要求 输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n)题目:返回一个二维整数数组中最大子数组的和 二.解题思路 先对二维数组进行了重构,形成一个环状二维数组,然后再用求二维数组子矩阵最大和的方法求得最终结果. 三.程序代码 2 #include<iostream.h> 3 int main(int argc, char* argv[]

结对开发——返回整数数组最大子数组和2

返回整数数组最大子数组和2 为了实现“敏捷开发”的目的,老师让我们采取“迭代”的方法进行项目的开发,这不,对于周一的求最大子数组和又有了新的要求,如下: 1.延续上次的要求,这里不再赘余… 2.如果数组A[0]……A[j-1]首尾相连,允许A[i-1],……A[n-1],A[0]……A[j-1]之和最大: 3.同时返回最大子数组的位置: 4.要求程序必须能处理1000 个元素,且每个元素是int32 类型的. 一.实验设计思路 首先实现的是数组首尾相连,先存入数组,再将原数组反向存储形成环形数组

软件工程课堂训练——结对开发之环数组最大和

一.题目及要求: 题目:返回一个整数数组中最大子数组的和 要求(新加):①如果数组A[0]...A[j-1]首尾相邻,允许A[i-1]...A[n-1],A[0]...A[j-1]之和最大:②同时返回最大子数组的位置. 结对人员:胡亚宝  焦燕 二.设计思路: 我们要解决两个问题:求出环数组中最大的子数组:并且定位出该子数组的位置,把它们的名称输出来.要解决这两个问题,我们从以下两个方面入手: ①求出最大子数组:将数组数值按顺序排好称为“一趟”,每求出一趟的最大子数组后,将第一个数值放到最后一个

求一维数组的最大子数组1(结对开发)

题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n) 发表一篇博客文章讲述设计思想,出现的问题,可能的解决方案(多选).源代码.结果截图.总结. 结对开发的伙伴: 博客名:Mr.缪 姓名:缪金敏 链接:http://www.cnblogs.com/miaojinmin799/ 分析: 如果按照最笨的方法就是一个一个的比较先比较一个数的然后二个

软件工程课堂训练——结对开发之环状二维数组

一.题目及要求: 题目:返回一个整数数组中最大子数组的和 要求(新加):①输入一个二维整形数组,数组里有正数也有负数:②二维数组首尾相接,像一条首尾相接的带子一样. 结对人员:胡亚宝  焦燕 二.设计思路: 这个题目其实就是二维数组和环型数组的结合,要解决这个问题,将之前的两个问题融合一下即可. 首先解决求出二维数组中最大子数组的问题,然后沿用一维数组的方法,将第一列放到最后一列,在求出新的二维数组的最大子数组,依次求出各个二维数组的最大子数组. 三.部分源代码: 1 for (m=0;m<5;

体验结对开发

一.实验题目 输入一个含N个整数(有正数也有负数)的数组,求数组中最大子数组的和. 二.实验思路 程序分成两个部分: (1):找到数组中所有可能的子数组的和:  采用遍历的方法,假如数组father[]中有5个数a,b,c,d,e, 第一步,求a,a+b,a+b+c,a+b+c+d,a+b+c+d+e: 第二步,求b,b+c,b+c+d,b+c+d+e: 第三步,求c,c+d,c+d+e: 第四步,求d,d+e: 第五步,求e. 通过两层循环来实现. 然后将这些和依次存入另一个数组son[]中.

课堂练习之结对开发项目思想总结

一.思想过程 老师课上让我们结对合作开发一个小程序,起初思想比较混乱,但在与雪东交流后一个想法渐渐浮现了出来,但在循环控制上仍然存在着缺陷.今天是满课的,所以我本打算在晚上自习的时候尝试去理清自己的思路,再与雪东进行交流.谁知在我刚到自习室,他便拿着笔记本来找我探讨,而且他已经写出了自己的想法,不过可能比较笨拙,在数组数量变化时需要一次一次的去输入程序,所以我们的探讨从如何实现老师的问题便到了如何更好的去实现老师的问题,增加程序的可扩展性. 在此次合作中我们真的就像驾驶员和领航员一样,一台电脑,

首次结对开发

结对成员:郭庆樑,张科 一.题目:返回一个整数数组中最大数组的和. 要求: 1.输入一个整型数组,数组里有正数也有负数: 2.数组中连接的一个或多个整数组成一个子数组,每个子数组都有一个和: 3.求素有子数组的和的最大值. 二.本次实验中,郭庆樑主要负责程序分析,代码编程:我主要负责代码复审和代码测试 三.代码 #include<iostream.h>int main(){  int a[10];  int max[10];  int Max;  int i;  int j;  int b[1

结对开发——一维数组最大子数组判断溢出

一 题目 求一维数组最大子数组和 要求:1000个数以上,整数 二.设计思路 最大子数组很好找到,但是子数组和的溢出问题很难解决. 经过不断的思考,我得出了结论: 溢出是程程序设计者设计时的不足所带来的错误.所以设计者要在编码时便高度警惕,预防溢出的发生,这才是最本质的解决问题的方法.就本题而言,我们设置了元素最大个数,以及其它输入要求,尽量避免溢出的发生.1000个数相加可以实现,但非要取1000个最大的数相加,那样的计算没有意义,不会在我们的生活学习中出现,这属于科研问题,交给大神们来解决吧