• 软件工程概论个人作业04(最大子数组)


    设计思想:1、定义一个数组,先设置循环输入数组的值,

              2、在设置一个循环,定义一个整型变量w并初始化为0,依次相加,w等于相加的和,如果相加的值小于0,则w等于这个子数组的下一个数,如果没有出现小于0的情况则一直相加,

              3、再定义一个整型变量sum并初始化为0,如果sum小于b的值,则令其等于w,最后输出sum即最大子数组的值

    可能出现的问题:如果输入的结果全为负数,最后结果是0

    解决方案:sum初始化为shuzu[0]

    源代码:

    复制代码
     1 import java.util.Random;
     2 import java.util.Scanner;
     3 
     4 
     5 import java.util.*;
     6 public class Test {
     7 
     8     public static void main(String[] args) {
     9         // TODO 自动生成的方法存根
    10         int []shuzu=new int[10];
    11         
    12         int i;
    13         for(i=0;i<10;i++)
    14         {
    15             System.out.println("请输入第"+(i+1)+"个值");
    16             Scanner input=new Scanner(System.in) ;
    17             shuzu[i]=input.nextInt();
    18             
    19         }
    20         int w=0;
    21         int sum=shuzu[0];
    22        
    23         for(i=0;i<10;i++)
    24         {
    25             if(w<0)
    26             {
    27                 w=shuzu[i];
    28             }
    29             else
    30             {
    31                 w+=shuzu[i];
    32             }
    33             if(sum<w)
    34             {
    35                 sum=w;
    36             }
    37         }
    38         
    39         System.out.println("最大子数组和为"+sum);    
    40 
    41     }
    42 }
    复制代码

    结果截图:

     

     

     

  • 相关阅读:
    模块二:操作系统windows 7 的使用
    茶卡盐湖
    css元素居中指南
    新的CMS套站
    写响应式页面
    积累
    jquery方法整理
    积累 做网站添加的 所有动态效果
    产品中心有二级三级栏目。
    aspcms
  • 原文地址:https://www.cnblogs.com/CkmIT/p/6694869.html
Copyright © 2020-2023  润新知