`
wenlongsust
  • 浏览: 66722 次
  • 性别: 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步根据题目不同差异较大。


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


分享到:
评论

相关推荐

    C语言经典编程282例——源码

    本书内容包括初识c语言、简单的c程序、算法入门、常用数据类型、运算符与表达式、数据输入与输出函数、选择和分支结构程序设计、循环结构、数组、函数编程基础、指针、常用数据结构、位运算操作符、存储管理、预处理...

    asp.net知识库

    技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则...

    java源码包2

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    并行计算导论(原书第2版).[美]Ananth Grama(带详细书签).pdf

    本书系统介绍涉及并行计算的体系结构、编程范例、算法与应用和标准等。覆盖了并行计算领域的传统问题,并且尽可能地采用与底层平台无关的体系结构和针对抽象模型来设计算法。书中选择MPI(Message Passing Interface)...

    java源码包---java 源码 大量 实例

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包3

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包4

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    云计算第二版

    2.5.5 核心技术——复制 49 2.5.6 产品性能及控制措施 52 2.6 大规模分布式系统的监控基础架构Dapper 54 2.6.1 基本设计目标 54 2.6.2 Dapper监控系统简介 54 2.6.3 关键性技术 57 2.6.4 常用Dapper工具 58 2.6.5 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    摩托罗拉C++面试题

    编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误. 3.继承和委派有什么分别,在决定使用继承或者委派的时候需要考虑什么。 在OOD,OOP中,组合优于继承. 当然多态的基础是...

    清华大学Linux操作系统原理与应用

    9.2.4 设备驱动程序框架 203 9.3 字符设备驱动程序 204 9.3.1 字符设备驱动程序的注册 204 9.3.2 简单的字符设备驱动程序示例 205 9.4 块设备驱动程序 208 9.4.1 块设备驱动程序的注册 209 9.4.2 块设备请求 212 ...

Global site tag (gtag.js) - Google Analytics