• 实验2MyPoint类

    2014信息学院C++实验2: 设计名为MyPoint的类表示直角坐标系中的一个点。包含: 两个int型的数据成员x和y,表示坐标。 x和y的设置器和获取器函数(3个:同时设置/获取2个数据成员,其中设置器函数重载:无参的(值为0和0)和有参的) 。 一个名为distance的函数,返回当前点和另一个给定的MyPoint类型的点之间的距离。 编写测试主函数,创建两个点(0,0)和 (10,30.5),并输出两点之间的距离。

    0
    1565
    248KB
    2014-04-02
    25
  • linux shell程序设计实验2

    题目名称 linux shell程序设计实验2 题目关键字 linux shell程序设计实验2 题目录入时间 2013-5-6 10:26:43 题目内容 按要求完成课本实验7。 题目创建人 邝颖杰 题目注释 把3个程序文件打包提交即可。

    3
    356
    3KB
    2013-11-25
    15
  • linux 网络服务实验

    题目名称 linux 网络服务实验 题目关键字 linux 网络服务 题目录入时间 2013-10-27 23:06:54 题目内容 1、设置window IP地址为192.168.3.XX,掩码24位。 2、设置Linux IP地址为192.168.3.YY,掩码24位。window与Linux互相ping通。 3、在linux中开通telnet和vsftp服务。 4、linux中建立 a+学号 的帐号,使用该帐号telnet登录linux,在主目录下创建login.txt文件。 5、在window中使用命令行终端连接至linux的ftp服务。 6、在linux中把/var/log/messages文件的后10行写入login.txt文件。 7、采用刚才建立的帐号登录ftp,把login.txt文件下载至windows 的C盘目录下。 8、把第1、2步设好的ip地址和互相ping通截图至word,第4、5、7步的操作过程截图至word。提交word文件。 实验请参考书本实验4和5. 题目创建人

    0
    161
    509KB
    2013-10-29
    11
  • 8594 有重复元素的排列问题

    8594 有重复元素的排列问题 时间限制:1000MS 内存限制:1000K 提交次数:1610 通过次数:656 题型: 编程题 语言: 无限制 Description 设集合R={r1,r2,...,rn}是要进行排列的n个元素,其中r1,r2,...,rn可能相同。 试着设计一个算法,列出R的所有不同排列。 即,给定n以及待排的n个可能重复的元素。计算输出n个元素的所有不同排列。 输入格式 第1行是元素个数n,1<=n<=15。接下来的1行是待排列的n个元素,元素中间不要加空格。 输出格式 程序运行结束时,将计算输出n个元素的所有不同排列。最后1行中的数是排列总数。 (说明: 此题,所有计算出的排列原本是无所谓顺序的。但为了容易评判,输出结果必须唯一! 现做约定:所有排列的输出顺序如课本例2-4的程序段的输出顺序,区别仅是这道题是含重复元素。) 输入样例 4 aacc 输出样例 aacc acac acca caac caca ccaa 6 提示 课本上有“递归”实现无重复元素全排列的源程序。 稍加修改即可满足此题要求。 在递归产生全排列的那段程序开始之前, 加一个判断:判断第i个元素是否在list[k,i-1]中出现过。 Permpp(char list[], int k, int m) { ...... for (int i=k; i<=m; i++) { if (Findsame(list,k,i))//判断第i个元素是否在list[k,i-1]中出现过 continue; Swap (list[k], list[i]); Permpp(list, k+1, m); Swap (list[k], list[i]); } } 作者 zhengchan ps;正确运行算法

    0
    317
    648B
    2013-10-27
    32
  • 11076 浮点数的分数表达

    11076 浮点数的分数表达 时间限制:1000MS 内存限制:1000K 提交次数:0 通过次数:0 题型: 编程题 语言: 无限制 Description 在计算机中,用float或double来存储小数有时不能得到精确值,若要精确表达一个浮点数的计算结果, 最好用分数来表示小数,有限小数或无限循环小数都可以转化为分数,无限循环小数的循环节用括号标记出来。如: 0.9 = 9/10 0.(3) = 0.3(3) = 0.3(33) = 1/3 当然一个小数可以用好几种分数形式来表示,我们只感兴趣最简的分数形式(即分母最小),如: 0.3(33) = 1/3 = 3/9 因为任何一个数都可以转化为一个整数和一个纯小数之和,整数部分较为简单无需做额外处理,只要将纯小数部分转化为分数形式,整数部分的分数部分就很简单了。 现在给定一个正的纯小数(这个纯小数为有限小数或无限循环小数),请你以最简分数形式来返回这个纯小数。 输入格式 给定一个纯小数,若是无限循环小数,用括号标记循环节,输入小数表达不超过100个字符。 输出格式 输出:化为最简分数形式,分子在前,分母在后,中间空格连接。 输入样例 0.3(33) 输出样例 1 3 提示 此题涉及如下几个问题: 一、字符串输入的问题 此题采用字符串接收输入,大家在接受数据的时候,不要用(c=getchar())!='\n'诸如此类一个字符一个字符接受, 然后判断是否是回车符号来结束输入,这样的方式在你本机运行不会有问题,但OJ系统中会有错误,无法输出结果, 因为OJ的测试平台行末并非'\n'字符。这里接受数据用scanf的%s,或cin等,会自动判别结束字符的,你就不要在你程序里专门去判别或吸收回车字符。 char a[105]; scanf("%s",a); 或cin >> a; 二、高精度或64位整数表示的问题 此题题目规定:输入小数表达不超过100个字符。 如此长的数,本意要大家用高精度数的运算来求解. 但后台测试数据没有做如此之长,放松一些吧,用64位整数也是允许通过的! 实现上,所有分子分母的变量,以及求最大公约数,都须用64位整数。 编译环境不同,对64位整数的定义和输入输出略有不同: 1)gnu gcc/g++ 中long long类型,或unsigned long long, 输入输出用cin和cout直接输出,用scanf和printf也可以的。 long long a; cin >> a; cout << a; 也可以使用:(注意一下,本OJ系统的gcc/g++不支持64位整数以"%I64d"形式输出, 但标准gnu gcc是支持如下的,在codeblocks上可以无误运行) scanf("%I64d",&a); printf("%I64d",a); 2)vc中用__int64类型,或unsigned __int64 scanf("%I64d",&a); printf("%I64d",a); vc下,64整数不要用cin和cout来输入输出,据说vc下64位整数兼容不好,会出错!大家可测试一下如下程序在vc下是否会出错? __int64 a; cin >> a; cout << a; 三、本题的解题思路 考虑输入的是纯小数,先暂时不考虑分子和分母有公因子的情况。 (1) 假设有限小数:X = 0.a1a2…an,式中的a1,a2,…,an都是0~9的数字。 X = 0.a1a2…an = a1a2…an/10^n (2) 假设无限循环小数:X = 0.a1a2…an(b1b2…bm),式中的a1,a2,…,an, b1,b2,…,bm都是0~9的数字,括号为循环节。 第一步,先将X化为只有循环部分的纯小数。 X = 0.a1a2…an(b1b2…bm) (10^n)*X = a1a2…an + 0.(b1b2…bm) X = (a1a2…an + 0.(b1b2…bm)) / (10^n) 上式中,a1a2…an是整数部分,容易解决。重点考虑小数部分0.(b1b2…bm)如何化为分数形式,再加上整数部分即可。 第二步,考虑Y = 0.(b1b2…bm),将Y化为分数, (10^m)*Y = b1b2…bm + 0.(b1b2…bm) ((10^m)-1)*Y = b1b2…bm Y = b1b2…bm / ((10^m)-1) 将第二步的Y带入第一步的X,可得: X = (a1a2…an+Y)/(10^n) = ((a1a2…an)*((10^m)-1) + (b1b2…bm)) / ((10^m)-1)*(10^n) 此时,可以将任何一个有限小数或无限循环小数,化为分数表示,分数的分子和分母如上分析的公式。 但此时的分子分母未必是最简化的,对分子分母再进行约分, 删去公共的因子,A/B = (A/GCD(A,B))/(B/GCD(A,B)),化为简单形式。 作者 zhengchan --------------------------------------------------------------------------------

    3
    412
    2KB
    2013-10-20
    33
  • 通讯录管理系统

    要求说明: 1. 要求使用 GUI,采用 Swing 技术,数据存储采用文件系统(可以是文本 文件、xml 文件、vCard文件或其他自定义格式文件,但不能是 Excel 文件)。不 使用数据库。 2. 通讯录中每个项目包括: (1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、像片。 (2)工作单位:国家、省份、城市、地址、工作单位、所属部门、职位、 邮编、电话、传真 (3)网络信息:个人主页、即时通信工具及号码、备用邮箱 (4)家庭资料:国家、省份、城市、地址、邮编、电话 3.通讯录数据的录入功能:输入并存储新的通讯录数据,输入时如果有同 名或同电话号码时,应该给出提示。 4.通讯录数据的查询功能: (1)默认列出所有条目。 (2)模糊查询,可以按:姓名、电话号码、手机、姓名的汉语拼音的声母 或全拼查询。支持模糊查询即输入部分数据后,可以查询出符合条件的全部条目。 如:输入“张”,列出所有名字中有“张”的条目;输入“2645”列出电话中有 该4个数字的所有条目;输入“xl”,列出声母为该 2个字母的所有条目 (3)指定分组后,列出某分组的所有条目 说明:查询结果如果有多个条目,应按照姓名排序,并使用姓或姓的第一 个汉语拼音的字母分类。 5.删除和修改功能:查询到一个条目后,可以删除该条目或修改条目内容。 6.通信录内容的导入和导出功能。要求能够以 CSV格式和 vCard格式导入 和导出通讯录的全部内容。并能够与主流手机或其他通讯录软件交换数据。 7.通讯录显示设置,可以设置在显示查询结果时,一个条目可以显示或不 显示哪些内容。 8.界面及相应功能可以参照 Windows 的“通讯薄”或其他通讯录软件,界 面应该符合主流通讯录的界面。下图为Windows 的“通讯薄” :

    5
    169
    796KB
    2013-10-20
    6
  • 9718整数因子分解

    9718 整数因子分解 时间限制:1000MS 内存限制:1000K 提交次数:0 通过次数:0 题型: 编程题 语言: 无限制 Description 大于1的正整数 n 都可以分解为 n = x1 * x2 * ... * xm 例如:当n=12时,共有8种不同的分解式: 12 = 12 12 = 6*2 12 = 4*3 12 = 3*4 12 = 3*2*2 12 = 2*6 12 = 2*3*2 12 = 2*2*3 对于给定正整数n,计算n共有多少种不同的分解式。 输入格式 第一行一个正整数n (1<=n<=1000000) 输出格式 不同的分解式数目 输入样例 12 输出样例 8 提示 此题因子讲顺序的.第一个因子可能是2~n之间的数. 比如对12而言,第一个因子可能是2,3,4,6,12. 将第一个因子为2的分解个数,加上第一个因子为3的分解个数,...,直至加到第一个因子为12的分解个数. 而第一个因子为2的分解个数又是多少呢?是6(因为12/2=6)的分解个数,递归求解! 可用“递归”和“备忘录方法”两种方法分别求解,并测试一下效率。 递归实现整数因子分解的计数。假设对正整数n的因子分解计数为solve(n)。 1)当n=1时,计数加1。 2)当n>1时,对n的每个因子i,计算solve(n/i)。

    0
    365
    254B
    2013-10-19
    9
  • 华农Linux实验1

    题目名称 linux实验-基本指令1 题目关键字 linux实验-基本指令1 题目录入时间 2013-4-1 22:36:02 题目内容 1、root帐号登录,查看/tmp目录,如果/tmp目录下没有子目录myshare,则建立该目录。 2、创建帐号testuser。 3、把myshare目录及其目录下的所有文件和子目录的拥有者该为testuser,工作组改为users。 4、切换至testuser帐号。进入/tmp/myshare目录,采用vim编辑器编写以上程序,程序名称为hello.sh: #!/bin/bash echo "app start" echo -e func (){ echo "hello world!" } func echo -e echo "app end" 5、保存hello.sh后,给予hello.sh拥有者可读、可写和可执行的权限,同组可读可执行,其他人可执行权限。 6、输入./hello.sh,观察程序输出的效果。 7、进入testuser的用户主目录,在这个目录下创建hello.sh的软链接,同时拷贝hello.sh到该目录下并改名为hello.sh.bak,要求拷贝时保留文件属性值。 8、退出testuser帐号,回到root帐号,从/开始查找后缀名为.conf的所有文件,把输出结果重定向到testuser帐号的主目录下的output.txt文件。 9、在上一步操作的.conf文件中找出文件容量最大的和最小那个,并把这两个文件的容量大小输出到output.txt文件中。 10、统计出系统中有多少个用户帐号,把数量输出到output.txt文件中。 11、把output.txt文件转换为windows记事本可正规打开的格式。 12、tar打包压缩testuser帐号主目录下的所有文件。 13、用U盘把上一步打包压缩文件拷贝到U盘上。 14、执行userdel -r testuser,执行rm -fr myshare 题目创建人 邝颖杰 题目注释 把打包压缩文件提交即可。

    4
    539
    2KB
    2013-10-18
    11
  • 10347忙碌又贪心的泥瓦匠

    村里有唯一一个泥瓦匠叫Kemo,很多人需要找Kemo修房子、修灶台、造花园……等,大家可以向Kemo预约修葺的时间和工钱。 现在情况是: 1)Kemo只有一个人,不能同时为两个雇主工作 2)Kemo只有干完一个雇主家的活才可以在接下来的一天切换到另一个雇主家里干活。未干完一份活不可以离开,不可以为多位雇主交叉时间干活 3)Kemo如果不能在预约的时间那天应约的话,这个雇主的这份钱就挣不到了 Kemo比较聪明,他把大家的预约收集好,想让自己忙碌一阵子,赚最多的钱。现在请你为这个忙碌而又贪心的Kemo设计一个思路吧。 Input 输入4行: 第一行,一个数字,n,表示n个人向Kemo预约需要修葺(n<=100) 第二行,n个正数,表示这n个人所需完成修葺的时间的起始点。若时间点为8,表示第8天开始 第三行,n个正数,表示这n个人所需完成修葺的工程天数。若天数为3,表示这一工程必须维持3天完成(所有工程都可以在第1000天内完成,即起始点+工期<=1000) 第四行,n个正数,表示这n个人能向Kemo付出的工钱,工钱以每天计 Output 输出:忙完这阵子,Kemo最多能挣多少钱? 例如:4个人需要找Kemo修葺,起始时间、工期和每天的工钱分别是: 1 3 8 4 3 2 3 2 5 6 10 7 则:Kemo可以获得的最大收益为:5*3+10*3+7*2 = 59 Sample Input 4 1 3 8 4 3 2 3 2 5 6 10 7 Sample Output 59 Hint 此题标题虽有“贪心”,但勿掉入贪心的陷阱中哦(贪心法是解不了滴)。 每项工程有“起始时间”,“工期”和“工钱数”三个性质。若两个工程的从起始时间到结束都不相冲突,就定义这两个工程为“相容工程”。 做子集树,根结点为第1层,叶节点为n+1层。子集树的第i层结点的两个分支代表第i个工程选或者不选。 用回溯算法搜索这n+1层的完全二叉树。 1)若当前工程和之前已选的工程集合不相容,则剪去该分支,不进行该分支之下的搜索,返回到上层结点。 2)将所有满足相容性的可行的叶节点,计算获得的最大工钱数。

    3
    89
    1KB
    2013-10-16
    9
  • 旅游背包VC

    时间限制:10000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 编程题 语言: 无限制 Description 想去旅游吗?那得先准备背包! 背包用来装旅游物品,现在共n种(n<=50)旅游物品,每种物品都有体积vi,重量wi,数量ci,价值ti (vi,wi,ci和ti都为整数)。 限制体积最多V立方厘米(V<=1000),重量最多W公斤(W<=500)。 请问你如何选择物品,使得带上的物品总价值最大,这个最大总价值为多少? 比如: 物品编号 体积(立方厘米) 重量(公斤) 数量(个) 价值(元) 1 30 3 10 4 2 50 8 10 5 3 10 2 10 2 4 23 5 8 3 5 130 20 5 11 若V为500,W为100,则选择物品的最大价值为72(且72=10*4+10*2+4*3:由10件物品1,10件物品3,和4件物品4组成)。 这是一个多维且有界的背包问题,属于常规0-1背包问题的扩展问题。 输入格式 第一行,物品的种类n,背包体积的限制V,背包载重量的限制W。n,V和W的范围如前所述。 接下来n行,每行为该种物品i的体积vi,重量wi,数量ci,价值ti (规定vi,wi,ci和ti都为整数)。 输出格式 仅一行,为选择物品子集所能获得的最大价值。 输入样例 5 500 100 30 3 10 4 50 8 10 5 10 2 10 2 23 5 8 3 130 20 5 11 输出样例 72

    0
    83
    22KB
    2013-10-12
    10
  • 分享精英

    成功上传11个资源即可获取
关注 私信
上传资源赚积分or赚钱