【整理】全国软件大赛模拟题及参考答案

本文提供了一套全国软件大赛的模拟试题,包括代码填空和程序设计两类题目,涵盖Java编程基础,如数值计算、数组操作、日期处理等。通过解答这些题目,参赛者可以提升Java编程和算法应用能力。
摘要由CSDN通过智能技术生成

一、前言

        模拟题主要模拟命题形式与考核范围。真实竞赛题的数量、难度可能与此套模拟题有差异。

二、说明

        本试卷包含两种题型:“代码填空”与“程序设计”。

        填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不多于一条语句(即不能出现分号)。

        编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

三、考题

3.1、天空

3.1.1、  代码填空(满分3分)

以下程序打印出0~9的数字,请补充缺少的代码。

public class Test
{
    public static void f(int begin, int end)
    {
        ___________; 
        System.out.println(begin);
        f(begin+1, end);   
    }
    public static void main(String[] args)
    {
        f(0,9);
    }
}

答案:if(begin>end) return;

3.1.2、  代码填空(满分4分)

如果要把两个整型变量ab的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。试填写缺失的代码。  

  a = a ^ b;

    b = _________;

    a = _________; 

答案: b = a ^ b;

            a = a ^ b;

3.1.3、 代码填空(满分3分)

许多人都曾经玩过“拍七”游戏。规则是:大家依次从1开始顺序数数,数到含有77的倍数的要拍手或其它规定的方式表示越过(比如:7,14,17等都不能数出),下一人继续数下面的数字。违反规则者受罚。下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。   

 for(int i=1; i<100; i++)

    {

        if(i % 7 == 0)

            printf("*/n");

        else if(___________) 

            printf("*/n");

        else

            printf("%d/n", i);

    }

答案:i%10 == 7 || i/10==7

3.1.4代码填空(满分5分)

下面的静态方法的目的是求出某个日期是该年度的第几天。试完善之。

如果传入:year=1980month=1, day=1

则返回 1

如果传入:year=1980month=2, day=1

则返回 32

public static int getDayOfYear(int year, int month, int day)

{

        int [][]days=_____________________;

        int flag =(year%4==0 && year%100!=0) || year%400 ==
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值