C++程序设计大赛决赛(广工).pdfVIP

  • 0
  • 0
  • 约4.93千字
  • 约 8页
  • 2022-08-13 发布于山东
  • 举报
广东工业大学第一届 C/C++程序设计大赛决赛 试 题 目录 1、排序 2 2、行编辑 2 3、数字根 3 4 、投票 3 5、线段的交点 4 6、四塔问题 5 7 、整数划分问题 5 8、母牛生小牛 6 9、数列极差问题 7 10、谁拿了最多奖学金 7 提示:题目后的 Sample Input/Output 仅是给出符合题目要求的其中一组输入/输出例子,“提 交”的程序必须要对所有符合要求的输入数据均能正确计算。判定“提交”是否通过时,会 给出另一组不同的测试数据,如程序运行结果不符,将被判为“提交”不通过,要加罚20 分 钟解题时间。 1、排序 按要求对给定的正整数数列按升序排序〔从小到大〕。 Input : 输入包含多组测试数据,第一行输入测试的组数T ,从第二行开始给出T 行测试数据。每行 第一个数值为该测试数据所包含的正整数个数 N ,1=N=1000,然后输入N 个正整数。所 有输入的正整数长度均为32bit 。 Output : 输出每组测试数据的排序结果。 Sample Input : 2 3 2 1 3 9 1 4 7 2 5 8 3 6 9 Sample Output : 1 2 3 1 2 3 4 5 6 7 8 9 2 、行编辑器 一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数 据区。 由于用户在终端上进行输入时,不能保证不出过失,因此,假设在编辑程序中,“每接受 一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲 区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出过失,并在 发现有误时可以及时更正。例如,当用户发现 键入的一个字符是错的时,可补进一个退 格符#,以表示前一个字符无效;如果发现当前键入的行内过失较多或难以补救,则可以键 入一个退行符@,以表示当前行中的字符均无效。 如果已经在行首继续输入#符号无效。 Input : 输入一个多行的字符序列。但行字符总数〔包含退格符和退行符〕不大于250 。 Output : 按照上述说明得到的输出。 2 Sample Input : whli##ilr#e(s#*s) outcha@putchar(*s=#++); Sample Output : while(*s) putchar(*s++); 3 、数字根 定义:将一个正整数各个数位上的数字求和,如果各个数位上的数字和为一位数,即为 这个正整数的“数字根”,否则重复以上过程,直至各个数位的数字之和为一个一位数。 例子:正整数24,由于2+4=6,因此24 的数字根为6 。又如正整数39,由于3+9=12, 1+2=3,因此39 的数字根为3 。 Input : 输入多行的数值,以数值0 作为结束符。输入数值0n=100000 。 Output : 对应每行输出该正整数的数字根。 Sample Input : 24 39 0 Sample Output : 6 3 4 、投票 给出一个奇数N ,以及N 个正整数〔可重复〕,找出其中重复出现至少(N+1)/2 次的正整 数。如果不存在,则给出“No solution ”的信息。 Input : 输入包含多组数据,每组数据包含两行,第一行输入为奇数N ,1=N=999999,指示出第二 行将要输入的正整数的个数;第二行输入为N 个正整数。以数值0 为结束符。 3 Output : 每行对应输出每组输入数据的结果。 Sample Input : 5 1 3 2 3 3 11 1 1 1 1 1 5 5 5 5 5 5 7 1 1 1 1 1 1 1 0 Sample Output : 3 5 1 5 、线段的交点 在二维直角坐标平面上给定N 条线段〔1=N=100〕,请输出他们的交点的数目,如果有 M 〔M2 〕条线段相交于一点,可重复计算。 Input : 输入包含多组测试数据,每组数据的第

文档评论(0)

1亿VIP精品文档

相关文档