c语言竞赛题目大全--重点--多看看题目类型

上传人:xins****2008 文档编号:116640280 上传时间:2019-11-16 格式:DOC 页数:128 大小:627.50KB
返回 下载 相关 举报
c语言竞赛题目大全--重点--多看看题目类型_第1页
第1页 / 共128页
c语言竞赛题目大全--重点--多看看题目类型_第2页
第2页 / 共128页
c语言竞赛题目大全--重点--多看看题目类型_第3页
第3页 / 共128页
c语言竞赛题目大全--重点--多看看题目类型_第4页
第4页 / 共128页
c语言竞赛题目大全--重点--多看看题目类型_第5页
第5页 / 共128页
点击查看更多>>
资源描述

《c语言竞赛题目大全--重点--多看看题目类型》由会员分享,可在线阅读,更多相关《c语言竞赛题目大全--重点--多看看题目类型(128页珍藏版)》请在金锄头文库上搜索。

1、C语言竞赛题目大全POWERED BY SYD168 2010年5月7日第1题 寄存器操作问题:假设在一个32位的机器上,需要将某个外设寄存器的第X位(最低位为第0位,最高位为第31位)设置成0,将第Y位开始的连续三位设置成110(从高位到低位的顺序),而其它位保持不变。对给定的寄存器值R,及X,Y,编程计算更改后的寄存器值R。输入的数据仅一行,包括R,X,Y,以逗号,分隔,R为16进制表示的32位整数,X,Y在0-31之间且Y=3,(Y-X)的绝对值=3,保证两次置位不会重合更改后的寄存器值R(16进制输出)。例如:n Sample Input12345678,0,3输出:1234567c解

2、题思路:很简单的位操作,但是需要注意的是Y那里是 110,不能直接或上110,而是先两次SET,在CLR。答案:#include #define CLR(r, x) r &= (1UL x) /1UL 表示32位无符号数,将r的x位清零。#define SET(r, y) r |= (1UL y) /表示将r的y位置零 int main() int r, x, y; scanf(%x,%d,%d, &r, &x, &y); CLR(r,x); /清除x位 SET(r,y); /置位y位 SET(r,y-1); /置位y-1位 CLR(r,y-2); /置位y-2位 printf(%x, r);

3、 return 0; 第2题 破译密码问题:据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F)。而你要获得消息原文,也就是要将这个过程反过来。 密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z M 原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 注意:只有字母会发生替换,其他非字母的字符不变,并且消息原文的所有字母都是大写的。输入:最多不超过100个数据集组

4、成,每个数据集之间不会有空行,每个数据集由3部分组成: 1. 起始行:START 2. 密码消息:由1到200个字符组成一行,表示凯撒发出的一条消息. 3. 结束行:END 在最后一个数据集之后,是另一行:ENDOFINPUT。输出:每个数据集对应一行,是凯撒的原始消息。n Sample InputSTARTNS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJXENDSTARTN BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJENDST

5、ARTIFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJENDENDOFINPUTn Sample OutputIN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSESI WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROMEDANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE解题思路凯撒编码,判断字符是否是字

6、母,并循环-5即可,记得要循环哦,非常简单的题目哦答案:#include #include #include #define N 202 char strN=0; int main() char *p; gets(str); while( strcmp(str, ENDOFINPUT) != 0 ) /当没遇到消息集的结尾时 if ( (strcmp(str, START) !=0) /当消息不是开始 &(strcmp(str, END) != 0) ) /消息不是结尾 for(p=str; *p !=0; p+) /对输入的串进行解密 if( isupper(*p) ) /判断是否为大写字符

7、 *p += *p-5 A ? 26-5: -5; /进行转换,考虑边界问题! puts(str); /输出字符 gets(str); /接受下一行 return 0; 第3题 小孩报数问题有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数),求小孩出列的顺序。或者是求最后出圈人的编号等等类似问题。输入:第一行输入小孩的人数N(N=64),接下来每行输入一个小孩的名字(人名不超过15个字符) 最后一行输入W,S (W N),用逗号,间隔输出:按人

8、名输出小孩按顺序出列的顺序,每行输出一个人名n Sample Input5XiaomingXiaohuaXiaowangZhangsanLisi2,3n Sample OutputZhangsanXiaohuaXiaomingXiaowangLisi解题思路:(暂空)第4题 方阵填数答案:#include using namespace std;int a1010;void Fun(int n)int m = 1,j,i;for(i = 0; i n/2; i+)for(j = 0; j n-i; j+)if(aij = 0)aij = m+;for(j = i+1; j i; j-)if(a

9、n-i-1j = 0)an-i-1j = m+;for(j = n-i-1; j i; j-)if(aji = 0)aji = m+;if(n%2=1)an/2n/2 = m;void main()int n, i, j;cinn;for(int i = 0; i n; i+)for(int j = 0; j n; j+)aij = 0;Fun(n);for(i = 0; i n; i+)for(int j = 0; j n; j+)cout aij ;cout endl;第5题 第五套1. 编写一个程序,让它有以下功能:从键盘上输入一个五位数,对此整数中的五个数值进行从大到小排序,形成一个新

10、的五位数,输出这个整数。2. 输入年、月、日,输出该日期是该年的第几天。3. 将学生的学号和成绩存储在数组中,利用循环计算出数组中存储学生的平均成绩,找出高于平均分的学生信息并输出。 4. 输入五个国家的名字,按字母顺序(即按ASCII码从小到大的顺序)排列输出。 5. 用指针实现:任意输入20个数,将它们按照从大到小的顺序输出。 6. 编写一个简单的通讯录管理系统。通讯录包括:姓名、通讯地址、邮编、联系电话,现编写一个通讯录管理系统,可以对通讯录进行输入、显示、查找,通讯录保存到一个文件中。第6题 进制转换问题1. 问题描述实现将N进制到M进制数的转换(1 N,M = 36)。对于11到36

11、进制数,其基数使用从A到Z的英文字母(全部为大写)代替。例如对于11进制,其基数10(十进制)使用A表示;对于36进制,其基数35(十进制)使用Z表示。被转换的数全部为正数且小于2147483647(long型的最大值)。下表为十进制数100对应的各进制数:进制1011162735数值10091643J2U 2. 要求:(1).实现10进制数到M进制数的转换。(2).程序具有较强的容错能力(例如对错误的输入数字串的处理)。(3). N进制到M进制数(1 N,M 36)的转换(扩展要求,选做)。3. 输入: 输入文件名为convert.in,文件内容格式为第一列为被转换数的进制数,第二列为被转换

12、数,第三列为转换后的进制。这三列内容均为字符串形式。每列之间使用一个空格隔开。4. 输出: 输出文件名为convert.out,文件内容为转换后的数。对于一切错误,则输出“error”字符串。5. 输入输出文件样例: 样例1convert.inconvert.out10 100 273J 样例2convert.inconvert.out3 140 27error 答案:#include #include void ten_to_m(char out, long int data, int M);int judge(int N, long int data);void convert(char out, int N, long int d

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号