程序设计竞赛试题

合集下载

山东科技大学第二届ACM程序设计大赛试题

山东科技大学第二届ACM程序设计大赛试题

山东科技大学第二届ACM程序设计大赛试题册试题共14页,题目共计12道山东科技大学第二届ACM 程序设计大赛试题册Problem A 简单计算Description给出n 个十进制的数,找出这n 个数的二进制表示中1的个数最少的数。

Input输入的第一行为一个正整数T (1≤T ≤20),代表测试数据组数。

对于每组测试数据,输入的第一行为一个正整数n (1≤n ≤10000),第二行为n个正整数A 1、A 2、…、A n (1≤A i ≤109),每个数之间以空格分隔。

Output每组数据输出一行,先输出数据组数,再输出二进制中含1最少的数,如果存在多个数符合条件,输出最小的那个。

具体输出格式见样例输出。

Sample Input Sample Output山东科技大学第二届ACM 程序设计大赛试题册Problem B 关键字搜索Description我们的新网站具有了全新的搜索功能,使用了2个通配符“*”和“?”,其中“*”表示0或者多个小写字母,“?”代表1个字母。

当我们输入一个关键字的时候,我们在不确定的地方就使用通配符。

我们在数据库里面有多条记录,每条记录都是由小写字母组成,现在给出一个关键字,你能告诉我数据库里面有多少条与关键字相匹配的记录吗?例如: 如果关键字是j*y*m*y?,那么jiyanmoyu ,jyanmoyu ,jymyu 都是相匹配的记录。

Input第一行输入一个T (T ≤20),表示有T 组测试数据。

对于每组测试数据,第一行是输入的关键字,接下是数据库里面的所有记录的条数n ,1≤n ≤10000,每条记录的长度不超过50个小写字母。

Output对于每组测试数据,输出与关键字相匹配的总记录条数,占一行。

Sample Input Sample Output山东科技大学第二届ACM 程序设计大赛试题册Problem C 正方形Description在二维坐标轴内给出四个点,这四个点能否构成一个正方形。

大学程序设计大赛试题答案

大学程序设计大赛试题答案

大学程序设计大赛试题答案一、选择题1. 在C++中,下列哪个关键字用于定义常量?A. staticB. volatileC. constD. mutable答案:C2. 以下关于Python中的列表(list)说法正确的是:A. 列表是不可变的序列类型。

B. 列表不支持添加元素。

C. 列表可以包含不同类型的元素。

D. 列表的元素不能被删除。

答案:C3. 在Java中,关于异常处理的描述,以下哪项是正确的?A. try块中必须跟catch块。

B. catch块可以捕获所有类型的异常。

C. finally块可以用于执行清理操作,无论是否发生异常都会执行。

D. throw关键字用于声明一个可能抛出的异常类型。

答案:C4. 以下关于数据库事务的描述,哪项是错误的?A. 事务具有原子性。

B. 事务具有一致性。

C. 事务具有隔离性。

D. 事务不具备持久性。

答案:D5. 在HTML5中,用于创建交互式内容的标签是:A. <canvas>B. <svg>C. <iframe>D. <audio>答案:A二、填空题1. 在JavaScript中,可以使用________函数来获取字符串的长度。

答案:length2. 在Python中,使用________关键字可以遍历字典中的所有键。

答案:keys()3. SQL语句中,用于删除表中所有记录但保留表结构的命令是________。

答案:TRUNCATE TABLE4. 在C语言中,使用________关键字可以定义一个指针变量。

答案:*(星号)5. 正则表达式中,\d表示匹配一个________字符。

答案:数字三、编程题1. 题目描述:编写一个程序,输入一个整数n,输出n的阶乘。

C++代码示例:```cpp#include <iostream>using namespace std;int factorial(int n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}int main() {int n;cin >> n;cout << factorial(n) << endl;return 0;}```2. 题目描述:编写一个Python程序,实现一个简单的计算器,支持加、减、乘、除功能。

C语言程序设计大赛题目和答案

C语言程序设计大赛题目和答案

C语言程序设计大赛题目和答案在这篇文章中,我们将介绍一些C语言程序设计大赛的题目和对应的答案。

希望通过这些题目和答案的展示,能够对大家在C语言程序设计方面的知识有所帮助。

题目一:计算圆的周长和面积编写一个C程序,计算给定半径的圆的周长和面积,并输出结果。

```c#include <stdio.h>int main() {double radius, perimeter, area;printf("请输入圆的半径:");scanf("%lf", &radius);perimeter = 2 * 3.14159 * radius;area = 3.14159 * radius * radius;printf("圆的周长为:%.2lf\n", perimeter);printf("圆的面积为:%.2lf\n", area);return 0;}```题目二:查找数组中的最大值编写一个C程序,从给定的整型数组中查找并输出最大的元素。

```c#include <stdio.h>#define MAX_SIZE 100int main() {int array[MAX_SIZE], size, i;int max;printf("请输入数组的大小:");scanf("%d", &size);printf("请输入数组的元素:");for(i = 0; i < size; i++) {scanf("%d", &array[i]);}max = array[0];for(i = 1; i < size; i++) {if(array[i] > max) {max = array[i];}printf("数组中的最大值为:%d\n", max);return 0;}```题目三:判断素数编写一个C程序,判断给定的整数是否为素数。

编程竞赛知识试题及答案

编程竞赛知识试题及答案

编程竞赛知识试题及答案一、选择题1. 在C++语言中,以下哪个关键字用于定义类?A. structB. classC. unionD. enum答案:B2. 以下哪个算法是用于排序的?A. 快速傅里叶变换(FFT)B. 深度优先搜索(DFS)C. 归并排序D. 欧几里得算法答案:C3. 在计算机科学中,递归函数的基本情况是什么?A. 调用自身B. 调用其他函数C. 终止条件D. 循环调用答案:C二、判断题1. 在Python中,列表和元组都是可变的。

()答案:错误(列表是可变的,元组是不可变的)2. 在数据结构中,栈是一种后进先出(LIFO)的数据结构。

()答案:正确3. 哈希表是一种基于数组的数据结构,它通过哈希函数来计算数据的存储位置。

()答案:正确三、简答题1. 请简述什么是二叉搜索树,并说明其基本操作。

答案:二叉搜索树(BST)是一种特殊的二叉树,其中每个节点的值都大于或等于其左子树上所有节点的值,并且小于或等于其右子树上所有节点的值。

基本操作包括插入、删除和查找。

2. 解释什么是动态规划,并给出一个简单的例子。

答案:动态规划是一种通过将复杂问题分解成更小的子问题来解决的方法,并且存储这些子问题的解以避免重复计算。

一个简单的例子是斐波那契数列,可以通过动态规划来避免指数级的时间复杂度。

四、编程题1. 编写一个函数,实现对一个整数数组进行排序。

答案:(示例代码,使用Python语言)```pythondef sort_array(arr):return sorted(arr)```2. 编写一个函数,实现判断一个整数是否为素数。

答案:(示例代码,使用Python语言)```pythondef is_prime(n):if n <= 1:return Falsefor i in range(2, int(n0.5) + 1):if n % i == 0:return Falsereturn True```结束语本次编程竞赛知识试题及答案到此结束,希望这些题目能够帮助你更好地理解和掌握编程竞赛中的相关知识点。

bupt程序设计竞赛题目

bupt程序设计竞赛题目

bupt程序设计竞赛题目
BUPT程序设计竞赛题目可以涉及各种编程语言和算法题目。

以下是一些可能的BUPT程序设计竞赛题目示例:
1. 编写一个程序,接受一个整数输入n,计算并输出从1到n 的所有整数的平方。

2. 设计一个程序,接受一个字符串输入,统计并输出字符串中每个字符出现的次数。

3. 编写一个程序,实现一个简单的计算器,可以进行加减乘除四则运算。

4. 设计一个程序,接受一个整数输入n,计算并输出斐波那契数列的第n个数。

5. 编写一个程序,实现一个简单的图书管理系统,包括图书的增删改查功能。

6. 设计一个程序,接受一个字符串输入,判断该字符串是否为
回文字符串。

7. 编写一个程序,实现一个简单的迷宫游戏,玩家需要找到出
口并避开障碍物。

8. 设计一个程序,接受一个整数输入n,计算并输出n的阶乘。

9. 编写一个程序,实现一个简单的日程管理系统,可以添加、
删除和查询日程。

10. 设计一个程序,接受一个整数输入n,判断n是否为素数。

以上只是一些示例题目,实际的BUPT程序设计竞赛题目可能更
加复杂和具体。

在竞赛中,参赛者需要根据题目要求,使用合适的
编程语言和算法进行解题,并确保程序的正确性和效率。

大学生程序设计竞赛试题(正式赛)

大学生程序设计竞赛试题(正式赛)

中原工学院第一届大学生程序设计竞赛正式比赛试题主办:中原工学院教务处学生处校团委计算机学院承办:中原工学院计算机学院地点:计算机学院实验中心406实验室时间:2010年4月11日【试题一】兔子【题目描述】兔子具有很强的繁殖能力。

一对成年兔子每个月可以繁殖一对小兔子,而一对小兔子经过m个月之后,就会长成一对成年兔子。

通过分析,我们可以看出:若m=2的时候,每个月兔子的对数构成了一个Fibonacci数列。

但是,若m<>2,这个问题看起来就不那么简单了。

你的任务是计算:假定初始只有一对兔子,那么,经过d个月之后,共有多少对兔子?可以假定,在此阶段没有任何兔子死亡。

【输入】输入包括多组测试数据。

每组测试数据的一行中包括2个整数m(1<=m<=10),d(1<=d<=30)。

当测试数据遇到一行中有两个0时,即m=d=0,测试数据结束。

【输出】针对每组测试数据,在每一行输出经过d个月后共有多少对兔子。

【输入样例】2 33 50 0【输出样例】59【试题二】网页浏览器【题目描述】Mozilla Firefox是一个自由的,开放源码的网页浏览器,适用于Windows, Linux 和MacOS X等平台。

Firefox火狐校园大使是Mozilla开源社区项目的一部分,针对在校的高年级本科生和研究生以及众多技术爱好者,在校园中推广开源项目和开放技术,让更多的开发人员受益于Mozilla的开放技术和免费资源。

你很荣幸得到了这样一个机会,为Firefox编写一个重要的导航模块。

正如上图所示,导航模块要接受用户的后退、前进、进入用户输入的网址以及清空浏览记录等操作。

【输入】为了简化问题,用户所有的操作都以字符的形式从标准输入读入。

每一行描述一个操作,各操作的格式和功能如下所示:操作功能back 如果当前页面不是第一个页面,则跳到到前一个页面,并输出这个页面的网址forward 如果当前页面不是最后一个页面,则跳到到后一个页面,并输出这个页面的网址url 网址跳转到用户输入的网址(网址不含空格)clear 清空浏览记录(当前页面除外)exit 退出浏览器浏览器启动时默认进入中原工学院的主页” ”【输出】对于每一个需要输出网址的操作,输出对应的网址。

科研竞赛之程序设计趣味赛题目

科研竞赛之程序设计趣味赛题目

程序设计趣味赛试题一、入门篇1、题目:打折(10分)描述:商店搞促销活动,一件衣服95元,若消费满300元,可打八五折。

输入购买衣服数,输出需要支付的金额(单位:元),保留两位小数。

样例输入:2样例输出:190.00 元2、题目:1的个数?(20分)描述:对于一个字节的无符号整形变量,求其二进制表示中“1”的个数。

样例输入:10101010样例输出:4二、提高篇3、题目:3Q大战(20分)描述:360与QQ之间的纠纷曾轰动国内互联网,腾讯发布公告,在纠纷解决之前,将在装有360软件的电脑上停止运行QQ软件。

现在我们来模仿腾讯这一艰难的选择。

为首,检测该序列是否存在“QQ”或“qq”,若不存在则提示电脑正常,否则要求用户二选一。

若用户选择删除360,则在选择后回车显示删除后的序列;否则,删除所有“QQ”或“qq”信息并显示处理后的序列。

样例输入:360qi*el-+p/qqq)73dQq4/QQ5$a3(回车)样例输出:您的电脑同时存在360软件和QQ软件,请卸载其中之一:(1—360 2—QQ)2(回车)360qi*el-+p/q)73dQq4/5$a3(注:“360”只存在于序列首部)4、题目:分橘子(25分)描述:秋季丰收,六个小朋友摘到满满的一大箱橘子,共有2520个!每个小朋友都拿了一些,有趣的是,如果将A的橘子的1/8给B;B拿到后连同原先的橘子分1/7给C;C拿到后连同原先的分1/6给D;D拿到后也连同原先的分1/5给E;E拿到后再同原先的分1/4给F;最后,F拿到后连同原先的分1/3给回A。

结果,A、B、C、D、E、F六个小朋友分到的橘子一样多!那么,请你编程回答:最初这六个小朋友手中各有多少个橘子?5、题目:解救人质的密码(25分)描述:狡猾的绑匪将人质藏于一密室里,打开大门的锁需要一些密码,柯南已经找到绑匪留下的一些线索:线索①SWITCH SW AMP线索②1. void main()2. {3. int i, c;4.5. for(i=2; (c=password[i])!='\0'; i++)6. {7. switch(c)8. {9. case 'a': putchar('i'); continue;10. case '1': break;11. case 1: while();12. case 9: putchar('S');13. case 'E':14. case 'L': continue;15. default: putchar(c); continue;16. }17. putchar(' ');18. }19. putchar('\n');20. }线索③char password[] = "SSSWILTECH1\1\11W\1WALLMP1";柯南相信这几条线索是有联系的,而且,在线索②的第11行中,while后面括号中的内容明显是绑匪有意擦除,这会不会就是打开密室大门的密码呢?要求:你需要读懂线索间的联系,并破译该密码,请提交完整的程序!。

第八届程序设计大赛初赛试题及答案

第八届程序设计大赛初赛试题及答案

第八届程序设计大赛初赛试题说明:请将所有答案写到试卷第1页及第2页。

一、读程序写结果(40分)1、(5分)2、(5分)3、(10分)结果:结果:结果:4、(10分)5、(5分)6、(5分)结果:结果:结果:二、代码填空(30分)1、(5分)2、(5分)空一:____acm / lg (5分)空一:if(begin>end) return (5分)3、(12分)4、(8分)空一:siruan /= 10 (3分)空一:s[i] - '0' (4分)空二:hm - lg (3分)空二:siruan[sum % 11] (4分)空三:lghm = acm(lghm) (6分)三、思维题(15分)数据1:T1=1,T2=2,T3=3,T4 = 4 数据2:T1=1,T2=2,T3=5,T4 = 10 答案:(acm)1 2->(siruan) 2min 答案:(acm)1 2->(siruan) 2min (acm) <-1 (siruan) 1min (acm) <-1 (siruan) 1min(acm) 1 3->(siruan) 3min (acm) 5 10->(siruan) 10min(acm) <-1 (siruan) 1min (acm) <-2 (siruan) 2min(acm) 1 4-> (siruan) 4min (acm) 1 2-> (siruan) 2min最短时间:2+1+3+1+4 = 11min 最短时间:2+1+10+2+2 = 17min数据3:T1 = 5,T2 = 2,T3=1,T4=10,T5=8 答案:(acm)1 2->(siruan) 2min(acm) <-1 (siruan) 1min(acm) 8 10->(siruan) 10min(acm) <-2 (siruan) 2min(acm) 1 2-> (siruan) 2min(acm) <-1 (siruan) 1min(acm) 1 5 ->(siruan) 5min最短时间:2+1+10+2+2+1+5 = 23min四、编程题(15分)程序代码:#include<stdio.h>#include<string.h>int s[110];int main(){int i;int a, n, m;while (scanf("%d%d", &a, &n)!=EOF){memset(s, 0x00, sizeof(s));m = n;for (i=0; i<m; i++){s[i] += a * (n--);s[i+1] = s[i] / 10;s[i] %= 10;}if (s[m]) printf("%d", s[i]);for (i=m-1; i>=0; i--)printf("%d", s[i]);printf("\n");}return 0;}一、读程序写结果(40分)1、(5分)#include <stdio.h>int main(){char acm[] = "I love acm!";char siruan[] = "I love siruan!";char def[] = "Welcome to join us!";int chose = 0;switch (chose){case 0: printf("%s\n", acm);case 1: printf("%s\n", siruan);default : printf("%s", def);}return 0;}输出结果:2.(5分)#include <stdio.h>int main(){int acm = 0, siruan = 1;if (acm = siruan) printf("%s", "May you success!");else printf("%s", "May you success,too!");return 0;}输出结果:3.(10分)#include <stdio.h>#include <math.h>int main(){int i,j,k,n;char lghm[14]="ILOVEACMSIRUAN";n = 3;for (i=0; i<n-1; i++) printf(" ");printf("%c\n",lghm[0]);for (i=1; i<n; i++){for (j=abs(n-i-1); j>0; j--) //abs(n)返回值为整形n的绝对值printf(" ");printf("%c",lghm[2*i-1]);for (k=1; k<=2*i-1; k++) printf(" ");printf("%c\n",lghm[2*i]);}for (i=n; i<=2*n-3; i++){for (j=abs(n-i-1); j>0; j--) printf(" ");printf("%c",lghm[2*i-1]);for (k=1; k<=4*n-5-2*i; k++) printf(" ");printf("%c\n",lghm[2*i]);}for (i=0; i<n-1; i++) printf(" ");printf("%c\n",lghm[4*n-5]);return 0;}输出结果:4.(10分)#include <stdio.h>#include <string.h>struct Student{char name[20];int num;} stu[5];{stu[0].num = 521; strcpy(stu[0].name, "sichuan wenchuan");stu[1].num = 521; strcpy(stu[1].name, "bless");stu[2].num = 420; strcpy(stu[2].name, "sichuan yaan");stu[3].num = 420; strcpy(stu[3].name, "love");stu[4].num = 420; strcpy(stu[4].name, "god");}void swap(int a, int b){struct Student tmp;tmp.num = stu[a].num;stu[a].num = stu[b].num;stu[b].num = tmp.num;strcpy(, stu[a].name);strcpy(stu[a].name, stu[b].name);strcpy(stu[b].name, );}void bubble_sort(int n){int i,j,flag,temp;for(i = 0; i < n-1; i++){flag = 1;for(j = 0; j < n-i-1; j++){if(stu[j].num > stu[j+1].num){swap(j, j+1);flag = 0;}else if (stu[j].num == stu[j+1].num && strcmp(stu[j].name,stu[j+1].name)<0){ swap(j, j+1);}}if(flag) break;}}int main(){init();bubble_sort(5);for (i=0; i<5; i++)printf("%-4d%s\n", stu[i].num, stu[i].name);return 0;}输出结果:6.(5分)#include <stdio.h>int acm(){int lg = 1314520;int hm = 0;while(lg > 0){hm = hm * 10 + lg % 10;lg /= 10;}return hm;}int main(){int siruan = acm();printf("%d", siruan);return 0;}输出结果:二、代码填空(30分)1.(5)如果没有计算器,我们如何求3的平方根?可以先猜测一个数,比如1.5,然后用3除以这个数字。

程序设计大赛试题及答案()

程序设计大赛试题及答案()

试题1、数学黑洞(程序文件名maths.c/maths.cpp)【问题描述】任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。

对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。

【输入】一行,一个4位正整数n(1000< n<9999)【输出】掉进黑洞的步数输入1234输出32、进制转换(程序文件名conver.c/conver.cpp)【问题描述】任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。

【输入】一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。

【输出】转换后的数【输入输出样例】输入255 8输出3773、分数线划定(程序文件名score.c/score.cpp)【问题描述】公务员选拔工作正在 A 市如火如荼的进行。

为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。

面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。

现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。

【输入】第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。

输入数据保证m*150%向下取整后小于等于n。

第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。

数据保证选手的报名号各不相同。

全国青少年程序设计竞赛真题

全国青少年程序设计竞赛真题

全国青少年程序设计竞赛真题1. 设计一个程序,实现给定两个数的加减乘除运算。

程序需求:输入:两个浮点数 a 和 b;运算符 op(+、-、*、/)输出:根据运算符 op 进行相应的运算结果程序设计思路:首先,我们需要接收用户输入的两个浮点数 a 和 b,以及运算符 op。

然后,根据运算符进行相应的运算操作,并将结果输出。

程序设计:#include <stdio.h>int main(){float a, b;char op;printf("请输入第一个数:");scanf("%f", &a);printf("请输入第二个数:");scanf("%f", &b);printf("请输入运算符(+、-、*、/):");scanf(" %c", &op);switch(op){case '+':printf("两数相加的结果为: %.2f\n", a + b); break;case '-':printf("两数相减的结果为: %.2f\n", a - b); break;case '*':printf("两数相乘的结果为: %.2f\n", a * b); break;case '/':if(b != 0){printf("两数相除的结果为: %.2f\n", a / b); }else{printf("错误:除数不能为零!\n");}break;default:printf("错误:不支持的运算符!\n");break;}return 0;}2. 设计一个程序,找出一个整数数组中的最大值和最小值。

鄞州区小学生计算机程序设计竞赛

鄞州区小学生计算机程序设计竞赛

鄞州区小学生计算机程序设计竞赛(两小时完成)◆◆请将正确答案在答题卷上填写,在本试题卷上答题无效◆◆一、选择题(1.5*15)1)下列标识符哪个是合法的( )。

A、abcB、x#C、beginD、1a2)下列函数值是整型的是()A.chr(23)B.ord(x)C.pred(x)D.succ(x)3)下列函数值不可能是布尔类型的是()A.odd(g)B.ord(g)C.pred(g)D.succ(g)4)I nteger类型的数据范围是()A.-32767~32767B.0~32767C.-32768~32767D.-32767~327685)设x是实型变量,下列表达式能将x四舍五入后保留三位小数的是()A.round(x)B.round(x)/1000C.round(x*1000)/1000D.round(x*100)/1006)下列表达式的值为FALSE的是()A.Odd(True(7.49))B.Round((Abs(-9.5)))<10C.Not(‘9’<’100’)D.Ord(Chr(Pred(8)))>=77)判断变量ch的值是否为小写字母,下列表达式正确的是()A.not(ch<’a’)or(ch>’z’)B.’a’<=ch<=’z’C.(ch>=a)and(ch<=z)D.ch>=’a’ and ch<=’z’8)表达式Chr(Ord(‘A’)+4))的值是()A.’D’B.‘E’C.69D.1019)设a[1]=1,a[2]=2,a[3]=3,a[4]=4,a[5]=5,a[6]=6,且i=1,j=2,k=3,m=4下列变量的值等于3的是()A.a[i*j]B.a[a[k-i]+3]C.a[m div j]D.a[a[j+k-2]]10)十进制数2011等值于八进制数()A.4033B.3755C.4003 D 3733.11)下列无符号数中,最小的数是()A.(11011001)2B.(31)10C.(37)8D.(2A)1612)十进制算是表达式:5*512+7*64+4*8+5的运算结果,用二进制表示为()A.101101100101B.101111100101C.111111100101D.11101111011113)十进制数13/128可用二进制数码序列表示为()A.1101/1000000B.1101/10000000C.0.001101D. 1011/1000000014)已知二进制数x =(0.1011010)2 ,则[x/4]=( )A.0.01011101B.111101100C.0.00101101D.0.101101015)由4个a,3个b和1个c构成的所有字符串中,包含字串”abc”的共有( )个A.30B.60C.120D.48二、填空题1、基础知识填空(1*10)1)计算机语言分为___________语言、______________语言和____________语言。

中小学生程序设计挑战赛初赛测试题

中小学生程序设计挑战赛初赛测试题

中小学生程序设计挑战赛初赛测试题1.1946年在美国宾夕法尼亚大学问世的 ENIAC 计算机主要由()器件组成。

[单选题] *A. 晶体管B. 电子管(正确答案)C. 小规模集成电路D. 大规模集成电路2. 下列哪一个程序设计语言不支持面向对象程序设计()。

[单选题] *A.C++B.JavaC.PHPD.C(正确答案)3. 在 C++中,要定义一个存储字符型数据的变量,其合适的数据类型是()。

[单选题] *A.char(正确答案)B.floatC.doubleD.bool4.4KB 的内存能存储()个汉字的机内码。

[单选题] *A.1024B.2048(正确答案)C.512D.40965. 下列选项中,说法错误的是()。

[单选题] *A. 算法是指解决问题的方法和步骤B. 算法的描述方法有多种C. 算法是唯一的(正确答案)D. 算法的步骤是有限的6. 下列各种基本数据类型说明符中表示单精度实型数的是()。

[单选题] *A.intB.boolC.float(正确答案)D.char7. 下列选项中,属于计算机硬件系统的是()。

[单选题] *A.IE 浏览器B.QQC.WordD. 显示器(正确答案)8. 十进制数3.75转成二进制数是()。

[单选题] *A.10.01B.11.11(正确答案)C.10.11D.11.1019. 下列选项中,能用枚举算法求解的是()。

[单选题] *A. 计算平行四边形面积B. 求100 以内的素数(正确答案)C. 求一个四位数的个位D. 将二进制转换为十进制10. 如果a,b,c 均为整型变量,其中 a=7,b=8, 执行以下语句后,变量a,b 的结果与其它几项不同的是( )。

[单选题] *A.a=a+b;b=a-b;a=a-b;B.c=a+b;a=c-a;b=c-b;C.c=a*b;a=c/a;b=c/b;D.c=a;b=c;a=b;(正确答案)11. 在 C++中,把代数式(x+1)²写成 C++表达式,正确的是()。

2023年东莞市小学生程序设计竞赛镇区选拨赛笔试题

2023年东莞市小学生程序设计竞赛镇区选拨赛笔试题

2023年东莞市小学生程序设计竞赛镇区选拨赛笔试题●●所有试题答案均规定写在答卷纸上,写在试卷纸上一律无效●●一.单项选择题(共20题,每题1.5分,合计30分。

每题有且仅有一种对旳答案)1、在二进制下,1101001 + () = 1110110。

A、1011B、1101C、1010D、11112、字符“0”旳 ASCII 码为 48,则字符“9”旳 ASCII 码为()。

A、39B、57C、120D、视详细旳计算机而定3、一片容量为 8GB 旳 SD 卡能存储大概()张大小为 2MB 旳数码照片。

A、1600B、2023C、4000D、160004、寄存器是()旳重要构成部分。

A、硬盘B、高速缓存C、内存D、中央处理器(CPU)5、从 ENIAC 到目前最先进旳计算机,冯•诺依曼体系构造一直占有重要旳地位。

冯•诺依曼体系构造旳关键内容是()。

A、采用开关电路B、采用半导体器件C、采用存储程序和程序控制原理D、采用键盘输入6、ASCII码旳含义是()。

A、二进制至十进制转换码B、美国信息互换原则代码C、数字旳二进制编码D、计算机可处理字符旳唯一编码7、在Pascal语言中,判断整数a等于0或b等于0或c等于0旳对旳旳条件体现式是()。

A、not ((a<>0) or (b<>0) or (c<>0))B、not ((a<>0) and (b<>0) and (c<>0))C、not ((a=0) and (b=0)) or (c<>0)D、(a=0) and (b=0) and (c=0)8、(2070)16 + (34)8 旳成果是()。

A、(20232)8B、(208A)16C、()2D、(8332)109、假设A=true,B=false,C=true,D=true,逻辑运算体现式A∧B∨C∧D旳值是( )。

编程竞赛考试题库及答案

编程竞赛考试题库及答案

编程竞赛考试题库及答案1. 编程竞赛考试题库及答案1.1 题目一:字符串反转编写一个函数,输入一个字符串,输出该字符串的反转结果。

答案:```pythondef reverse_string(s):return s[::-1]```1.2 题目二:找出数组中的最大值给定一个整数数组,请找出数组中的最大值并返回。

答案:```pythondef find_max_value(arr):return max(arr)```1.3 题目三:计算阶乘编写一个函数,输入一个非负整数n,返回n的阶乘。

答案:```pythondef factorial(n):if n == 0:else:return n * factorial(n-1)```1.4 题目四:判断回文数编写一个函数,判断输入的整数是否为回文数。

答案:```pythondef is_palindrome(x):str_x = str(x)return str_x == str_x[::-1]```1.5 题目五:合并两个有序数组给定两个有序整数数组nums1和nums2,其中nums1的长度为m,nums2的长度为n,请你将nums2合并到nums1中,使合并后的数组仍然有序。

答案:```pythondef merge(nums1, m, nums2, n):i, j = m - 1, n - 1index = m + n - 1while i >= 0 and j >= 0:if nums1[i] > nums2[j]:nums1[index] = nums1[i]i -= 1else:nums1[index] = nums2[j]index -= 1nums1[:index+1] = nums2[j+1:]```1.6 题目六:寻找两个有序数组的中位数给定两个大小分别为m和n的有序数组nums1和nums2,请找出这两个数组的中位数。

c语言程序设计比赛试题及答案

c语言程序设计比赛试题及答案

c语言程序设计比赛试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法整数常量?A. 0x1AB. 01AC. 0b1010D. 1.23答案:A2. C语言中,哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:B3. 下列哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释答案:B4. C语言中,哪个运算符用于求两个数的和?A. +B. -C. *D. /答案:A5. 在C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. C语言中,哪个关键字用于定义一个枚举类型?A. structB. unionC. enumD. typedef答案:C7. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable$2答案:B8. 在C语言中,哪个关键字用于定义一个指针?A. intB. floatC. charD. *答案:D9. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A10. 在C语言中,哪个函数用于计算字符串的长度?A. strcpyB. strcatC. strcmpD. strlen答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型数组的关键字是________。

答案:int2. C语言中,用于定义一个字符型数组的关键字是________。

答案:char3. C语言中,用于定义一个浮点型数组的关键字是________。

答案:float4. C语言中,用于定义一个双精度浮点型数组的关键字是________。

答案:double5. C语言中,用于定义一个字符串的关键字是________。

第3届C#程序设计竞赛试题

第3届C#程序设计竞赛试题

C#程序设计大赛试题1、求字符串在文件中出现的次数和位置(10分)【问题描述】读取文本文件,查找给定的字符串在文件中每次出现的位置和出现的次数。

假定文本文件的内容一行能够读完。

【输入】第一行输入要读取的文本文件的路径。

第二行输入要查找的子串。

【输出】第一行输出文本文件的内容。

第二行输出字符串在文件中出现的总次数。

第三行(或多行)依次输出字符串每次在文件中出现的位置,中间用空格进行分隔。

若总次数大于5,则每行输出5个数字,分多行输出。

【样例输入】c:\test.txtis【样例输出】This is a Big World.ABCdtestsa@gagaabcrtg@hal@bahlislsfa@bacljfgla;fahlga;eTHBG@22 52、斐波纳契数列(fib)(15分)【问题描述】斐波纳契数列的定义:Fib(1)=1,Fib(2)=1,Fib(n)=Fib(n-1)+Fib(n-2) (n>=3)现在给你2个数字a和b,计算在[a,b]之间有多少个斐波纳契数字。

【输入】若干组数据,每组数据为2个非负整数a和b(a<=b<=10^100);如果a=b=0,表示输入结束。

【输出】每行输出一组[a,b]之间的斐波纳契数字个数。

【样例输入】10 1001234567890 98765432100 0【样例输出】543、加密问题(20分)【问题描述】加密操作如下,取两个正整数X、Y,对于一段明文字符串中的字母,将其按行填入一个X行Y列的矩阵中(非字母忽略不填、而且所有字母要求全转换为大写),若未填满,则按字母表顺序顺次填充(’A’…’Z’循环填充)。

比如对于X=3,Y=3,明文为”Problem”时,矩阵填充后的结果为:PROBLEMAB这样,就得到了一个矩阵,将矩阵按列输出就得到了所要的密文“PBMRLAOEB”。

你的任务是,编写程序使得对于任意给定的X、Y以及明文,程序都能输出正确的密文。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年西北师范大学第四届程序设计大赛试题一、程序填空(共5题,每题5分,共25分)1.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,完成程序中下划线部分。

#include <stdio.h>main(){int i, j;for(i=0; ; i++){j=i*10+6;if( ) continue;printf("%d",j);}}2.以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。

完成函数中下划线部分。

Strapp(char a[], char b[]){int num=0,n=0;while(*(a+num)!= ) num++;while(b[n]){*(a+num)=b[n]; num++; ;}return(num);}3.下面函数用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n 所指存储单元中存放数组中数据的个数。

插入后数组中的数仍有序。

完成函数中下划线部分。

void fun (char *w,int x,int *n){ int i,p;p=0;w[*n]=x;while (x>w[p]) ;for(i=*n;i>p;i--)w[i]= ;w[p]=x;++ *n;}4.下面的程序将输入字符中的小写字母转化成大写字母输出,其它字符按原样输出,当输入字符为“!”时程序结束。

完成程序中下划线部分。

#include <stdio.h>main(){char ch;printf("Input string(! to quit):");do{ch = getchar();if( ) ch = ch + 'A'-'a';putchar(ch);}while( );}5. The following program is to calculate the value of “e ” according to the formula ....!31!21!111++++=e , while the value of the last item must be less than 610-.#include <stdio.h>main(){int i;double e,item;;item=1.0;for (i=1; ;i++){item/=(double)i;e+= ;}printf("e=%f\n",e);}二、 程序理解(共5题,每题5分,共25分)1. 以下程序的运行结果是#include <stdio.h>void main(){int i,j,k=19;while (i=k-1){k-=3;if(k%5==0) { i++; continue; }else if(k<5) break;i++;}printf(“i=%d,k=%d\n ”,i,k);}2.运行以下程序,输入: AabD <ENTER>后,程序的运行结果是_______.#include <stdio.h>void main(){char s[81];int i=0;gets(s);while (s[i]!=…\0‟){if(s[i]<= ‟z‟&&s[i]>= ‟a‟) s[i]= ‟z‟+‟a‟-s[i];i++;}puts(s);}3.以下程序的运行结果是#include <stdio.h>#define F(k) k+3.14#define P(a) printf("a=%d\n", (int)(a))#define P1(a) P(a);putchar('\n');#define P2(a, b) P(a);P1(b);void main(){int x = 1;{int x = 2;P(x*F(2));}{for (; x < 10; x += 50)P2(x, 9.15*x+32);}}4.输入: this is a test.<ENTER>,以下程序的运行结果是#include <stdio.h>#define TRUE 1#define FALSE 0int change(char *c,int status);void main(){int flag=TRUE;char ch;do{ch=getchar();flag=change(&ch,flag);putchar(ch);} while(ch!=‟.‟);printf(…\n‟);}int change(char *c,int status){if(*c==‟‟) return TRUE;if(status&&*c<=‟z‟&&*c>=‟a‟) *c+=‟A‟-…a‟; return FALSE;}5.There are three text files f1,f2 & f3, each of them contains some characters as following:file name contentsf1 aaa!f2 bbb!f3 ccc!Compiling the following C source codes, and linking the related object codes, an executable command file ex35.exe will be produced. To execute the command at DOS prompt: ex12 f1 f2 f3<ENTER>,the output is: .#include <stdio.h>main(int argc, char *argv[]){FILE *fp;void sub(FILE *);int i=1;while (--argc>0)if ((fp=fopen(argv[i++],“r”))==NULL) {printf(“Cannot open file!\n”);exit(1);}else {sub(fp);fclose(fp);}}void sub(FILE *fp){char c;while((c=getc(fp))!=…!‟)putchar(c+1);}三、下面4个程序中,共有16处错误(包括语法错误和逻辑错误),请找出其中的错误,在出错位置处划线,并改正之,改正结果写在出错语句同行空白处。

(30分,每找对1个错误,加1分,每修改正确1个错误,再加1分。

只要找对15个即可,多找不加分。

)1.下面程序实现折半查找算法,当找到输入元素后显示其在数组中的下标。

#include <stdio.h>main(){int up=10, low=1, mid, found, find;int a[10]={1, 5, 6, 9, 11, 17, 25, 34, 38, 41};scanf("%d", find);printf("\n");while (up>=low ||!found){mid=(up+low)/2;if( a[mid] = find ){found=1;break;}else if(a[mid]>find)up=mid+1;elselow=mid+1;}if(found) printf("found number is %dth", mid);else printf("no found");}2.下面程序模拟骰子的6000次投掷,用rand函数产生1~6之间的随机数face,然后统计1~6每一面出现的次数存放到数组frequency中。

#include <stdlib.h>#include <time.h>#include <stdio.h>main(){int face, roll, frequency[7] = {0};srand(time[NULL]);for (roll=1; roll<=6000; roll++);{face = rand()%6 + 1;++frequency[Face];}printf("%4s%17s\n", "Face", "Frequency");for (face=1; face<=6; face++){printf("%4d%17d\n", face, frequency[face]);}}3.计算十个数据的平均值。

#include <stdio.h>void main(void){int i, sum;float avg;int sc[10], *p = sc;for (i=0, i<10, i++){scanf("%d", p);p++;sum += *p;}avg = sum / 10;printf("avg=%f\n", avg);}4.编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。

(用字符数组实现)#include <stdio.h>#include <string.h>void Inverse(char rstr[])main(){char str[80];printf("Input a string:\n");gets(str);Inverse(str);printf("The inversed string is:\n");puts(str);}void Inverse(char rstr[]){int i,n;char temp;for(i=0, n=(strlen(rstr)); i<n; i++, n--){temp = rstr[i];rstr[i] = rstr[n];rstr[n] = temp;}}四、程序设计(共2题,每题10分)1.计算机中提供了长整型和双精度等能存储较大数的数据类型,但在有些时候,这样的数据类型不能满足实际应用的需求,比如大数的阶乘。

请编写程序,实现大数阶乘的算法。

相关文档
最新文档