admin 发表于 2017-1-26 12:24:16

第一届《编程爱好者》编程大赛完美结束

酝酿多日的《编程爱好者》第一届编程大赛完美落幕

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

本次比赛,管理员离天王(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;    // 创建一个数组,装有货物重量在1~5千克,路程在50~5000公里内的所有快递价格
      for (int i = 0; i < details.length; i++) {                  // 行表示路程
            details = price;                            // 为每个路程段赋不超重时的快递费
            for (int j = 1; j < details.length; j++) {            // 列表示超重的重量数,单位为千克
                details = details + 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 + "   " + "重量为"
                        + (weight + ((m + 1) * weight)) + "千克,其快递费为:"
                        + details);
                m = m + 2;
            }
            n++;
            if (details.length % 2 == 1) {
                System.out.println("重量为" + (weight + (m * weight))
                        + "千克,其快递费为:" + details.length - 1]);
            }
      }
    }
}







页: [1]
查看完整版本: 第一届《编程爱好者》编程大赛完美结束