`
wenlongsust
  • 浏览: 72379 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

软件研发:公司内部技术考试——算法编程题程序框架

 
阅读更多

为了简单说明算法编程题的程序框架,以非常简单的例题说明算法编程题的程序编写思路。


算法编程题答题要求:

测试数据输入文件名xxx.in;

测试数据输出文件名xxx.out;

测试程序文件名:xxx.c(C)、xxx.cpp(C++),xxx.java(Java)、xxx.cs(C#)


题目1:打印矩形
输入数据样例文件中的内容:

3 5 * 

需要实现3行5列的星号(*)矩形,每个星号中间空一格,每一行的末尾不留空格

输出数据样例文件内容:

* * * * *
* * * * *
* * * * *

输入数据样例文件:



输出数据样例文件:



为了调试方便,不采用记事本、VI这样的简单编程工具,直接使用IDE编程。


以Java语言为例,使用Eclipse/MyEclipse新建的Project结构(Package Explorer视图)如下:


注:最终只需要按照要求提交源代码文件Question1.java即可。


样例程序:

import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.util.Scanner;


public class Question1 {

	/**
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		// 1、读取条件
		Scanner scanner = new Scanner(new File("Question1.in"));
		int row = scanner.nextInt();
		int col = scanner.nextInt();
		char ch = scanner.next().charAt(0);
		scanner.close();

		// 2、算法实现
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < row; i++) {
			for (int j = 0; j < col; j++) {
				sb.append(ch);
				if (j < col - 1) {
					sb.append(" ");
				}
			}
			if (i < row - 1) {
				sb.append("\n");
			}
		}
		System.out.println(sb);

		// 3、输出结果
		Writer writer = new FileWriter("Question1.out");
		writer.write(sb.toString());
		writer.close();
	}
}

在上一篇文章中http://blog.csdn.net/xiaolongzaixian/article/details/48352479简单地介绍了答题的方法,通过这篇文章中的样例程序可以看出,程序的编程步骤大体都相同,分3步,第1步、第3步大体都相同,第2步根据题目不同差异较大。


本文中的题目非常简单,只是为了说明算法编程题的程序框架,实际考试内容要比这复杂得多。无论多么复杂得问题,总是能分解成若干个小问题,所以先了解清楚基本的算法编程题程序框架也是很重要的。


分享到:
评论

相关推荐

    GitHub一战封神,字节跳动内部顶级数据结构刷题学习笔记根本停不下来(csdn)————程序.pdf

    在准备字节跳动或其他技术公司的面试时,除了深入学习这些排序算法,还应该熟悉其他基础数据结构以及相关的算法,如图搜索、动态规划、回溯法、贪心策略等。同时,实际编程能力的提升,如代码质量、可读性、性能优化...

    大数据技术实践——Spark词频统计

    【Spark技术实践——词频统计】在大数据领域,Spark作为一种高效的数据处理框架,以其快速、通用和可扩展性而受到广泛关注。本实践旨在基于已经搭建的Hadoop平台,利用Spark组件进行文本词频统计,以此深入理解Scala...

    JAVA经典算法30题

    在学习编程语言的过程中,算法是核心技术之一,尤其是对Java这样的经典编程语言。掌握了算法,不仅能够解决实际问题,还能提高编程能力,培养逻辑思维。对于Java程序员而言,掌握一系列经典的算法题是提升自身竞争力...

    java笔试编程题(小合集)

    本文档《java笔试编程题(小合集)》旨在为准备Java笔试或面试的朋友们提供必要的练习材料,帮助他们更好地准备即将到来的技术挑战。 首先,文档《最新JAVA编程题全集(50题及答案).doc》包含的五十道Java编程题目,是...

    雅虎中国——招聘试题

    《雅虎中国——招聘试题解析》 在信息技术领域,雅虎中国作为一家知名的互联网公司,其招聘过程自然备受瞩目。本篇文章将深入探讨雅虎中国招聘试题中的关键知识点,帮助求职者更好地准备在线考试,提升自己的竞争力...

    2008——2011程序员历年试题

    考试内容通常包括但不限于编程语言、数据结构、算法分析、操作系统原理、数据库管理、网络技术、软件工程、项目管理等多个方面。 在描述中提到的“疏漏”可能是指之前上传的资料存在错误或不完整的情况,这次的更新...

    50道Java常见编程题(有精力的同学看看).rar

    这份"50道Java常见编程题(有精力的同学看看).rar"压缩包文件提供了学习者一个宝贵的资源,涵盖了Java的基础编程练习,旨在帮助他们巩固基础知识并提升编程技能。 在Java的世界里,面向对象编程(Object-Oriented ...

    北京大学pku——acm一些题的详解

    北京大学ACM题解是一系列针对ACM(国际大学生程序设计竞赛)比赛的解析文档,旨在帮助参赛者理解和解决这类竞赛中的编程问题。ACM竞赛旨在提高大学生的算法设计、问题解决和编程技能,是全球范围内极具影响力的比赛...

    八股文知识点汇总——Java面试题指南

    其他面试题如集合、异常处理、IO/NIO、反射、序列化、注解、多线程并发、JVM优化、数据库技术、缓存、NoSQL、框架、消息队列、微服务、Linux等方面的知识同样重要,需要不断学习和实践来提高技能水平。

    Java大作业——小学数学考试自动系统

    【Java大作业——小学数学考试自动系统】是一个利用Java编程语言设计和实现的教育软件项目,主要用于帮助小学生进行数学练习和考试。这个系统自动化地生成数学题目,涵盖加减乘除基础运算,以及可能涉及的一些初级...

    行业教育软件-学习软件-2005年5月程序员考试试题及答案.zip

    这可能意味着试题涵盖了当年的主流编程语言、技术框架以及软件开发的最佳实践。 压缩包内的文件名为“行业教育软件-学习软件-2005年5月程序员考试试题及答案”,这个单一的文件可能是PDF文档或者一系列的文本文件,...

    计算机软件毕业设计_网络考试系统的设计与实现——阅卷子系统_计算机毕业设计源码_计算机毕业设计源代码.rar

    这个项目不仅涉及到软件工程的基本原理,还涵盖了网络技术、数据库管理、以及可能的人工智能算法。 首先,从设计的角度来看,网络考试系统的设计需要考虑以下几个方面: 1. 用户界面:设计应简洁易用,以便于考生...

    Java教学平台的设计与实现——一种支持编程练习自动批改的技术实现.pdf

    在编程教学中,Java程序语言教学有几个显著的特点。首先,学习编程语言不仅仅需要识记和理解,更重要的是动手操作。实践经验在学习编程中的重要性毋庸置疑,缺乏足够的实践会导致学生无法建立计算机思维。其次,Java...

    ASP.NET源码——[学校班级]多功能在线考试系统改进版.zip

    【ASP.NET源码——[学校班级]多功能在线考试系统改进版.zip】是一个包含ASP.NET技术实现的、针对学校班级的在线考试系统的源代码资源。这个系统经过改进,旨在提供更全面的功能,以满足教育机构对在线教学和评估的...

    最新JAVA编程题全集(50题及答案).doc

    Java作为一门广泛应用于软件开发的语言,其编程题的练习对于学习者来说尤为关键。本文旨在通过《最新JAVA编程题全集》中的实例,详细解析几个典型问题,并探讨它们在Java编程学习中的重要性。 首先,让我们来探讨...

    数据结构与算法分析.C++语言描述 第四版 源代码

    总的来说,《数据结构与算法分析.C++语言描述》第四版源代码及配套资源,对于那些希望提升自己的编程技巧、解决复杂问题能力以及在技术面试中脱颖而出的读者而言,是一份不可多得的学习资料。通过理论与实践相结合的...

    A4试卷模板 - 大学期末考试试卷模板.docx期末考试出题模板试卷模板

    ### A4试卷模板知识点概述 #### 一、A4试卷模板的...通过以上分析可以看出,《程序设计与数据结构》的期末考试试卷模板具有很强的针对性和实用性,不仅有助于学生复习备考,同时也为教师提供了良好的出题参考框架。

    小学生心算系统——c语言程序设计.pdf

    【小学生心算系统——C语言程序设计】 课程设计的目标是创建一个C语言编程的小学生心算计算机辅助教学(CAI)系统,旨在帮助小学生提升加、减、乘、除的心算能力。系统不仅提供单一运算的练习,还支持四则混合运算...

    毕设&课程作业_数据库应用系统——试卷智能生成与题库管理系统.zip

    【标题】中的“数据库应用系统——试卷智能生成与...总的来说,这个项目涵盖了计算机科学的多个核心领域,包括数据库、软件工程、Web开发、人工智能以及相关的算法、设计和测试技术,对于提升综合能力具有很大的价值。

Global site tag (gtag.js) - Google Analytics