请选择 进入手机版 | 继续访问电脑版
+发表新主题
admin 发布于2017-1-26 12:24 115333 次浏览 0 位用户参与讨论
跳转到指定楼层
酝酿多日的《编程爱好者》第一届编程大赛完美落幕

群主和管理员在此感谢广大群员的踊跃参加,以后相关类型比赛每月举行一次,欢迎大家踊跃参加。

本次比赛,管理员离天王(1132148229)提交了数份答案,本着鼓励更多参赛者的原则,只保留他最靠前的一个名次,其余名次取消,被后面的参赛者代替,感谢离天王(1132148229)的牺牲。

下面公布参赛者获奖名单:

一等奖1名:离天王(1132148229)

二等奖2名:唐珮岚(781797426)     海绵宝宝派大星(535272033)

三等奖3名:简简单单(840911234)    陈勃士(1443735959)     人来疯(1030118845)

第一届编程大赛有喜有忧,令群主欣慰的是参赛者基本上完成了题目的要求,令群主忧虑的是Java参赛者提交的答案虽然正确,但是技术含量相当低,健壮性为0,希望大家继续深入学习,提高开发水平。二等奖中海绵宝宝派大星(535272033)的答案有较强的扩展性,其他Java参赛者可以参考一下,下面是他的代码(群主进行了微调):
import java.util.Scanner;

public class bianchengbisai {

    private static Scanner in;

    public static void main(String[] args) {
        in = new Scanner(System.in);
        int d,n;
        int h,w;
        d=in.nextInt();
        n=in.nextInt();
        h=(d-50)/50;
        w=(h+5)+(n-1)*(2+h);
        System.out.println(w);
    }

}

下面是Java试题的标准答案:
public class TwoArray_10 {
    public static void main(String[] args) {
        int weight = 1;                // 定义表示货物的重量的变量
        int path = 50;                // 定义路途的变量
        int price = 5;                // 定义表示价格的变量
        int Overweightprice = 2;        // 定义超重的附加费
        int n = 0, m = 0;                // 递增变量
        int[][] details = new int[10][5];    // 创建一个数组,装有货物重量在1~5千克,路程在50~5000公里内的所有快递价格
        for (int i = 0; i < details.length; i++) {                    // 行表示路程
            details[0] = price;                            // 为每个路程段赋不超重时的快递费
            for (int j = 1; j < details.length; j++) {            // 列表示超重的重量数,单位为千克
                details[j] = details[0] + j * Overweightprice;    //算出每超重j千克,应付的快递费
            }
            price++;
            Overweightprice++;
        }
        System.out.println("货物重量在1~5千克,路程在50~5000公里内的所有收费明细如下:");
        for (int i = 0; i < details.length; i++) {                    // 行表示路程
            m = 0;
            System.out.println("路程为" + (path + (n * path)) + "公里");
            for (int j = 1; j < details.length; j += 2) {            // 列表示超重的重量数,单位为千克
                System.out.println("重量为" + (weight + (m * weight))
                        + "千克,其快递费为:" + details[j - 1] + "   " + "重量为"
                        + (weight + ((m + 1) * weight)) + "千克,其快递费为:"
                        + details[j]);
                m = m + 2;
            }
            n++;
            if (details.length % 2 == 1) {
                System.out.println("重量为" + (weight + (m * weight))
                        + "千克,其快递费为:" + details[details.length - 1]);
            }
        }
    }
}







回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ| Archiver|手机版|小黑屋| toppr  

Copyright © 2001-2013 Comsenz Inc.   All Rights Reserved.

Powered by Discuz! X3.2

快速
回复
返回
列表
返回
顶部