C语言
一只可怜的皮卡丘
每一个不曾起舞的日子,都是对生命的辜负。
怕什么题海无涯,水一题有水一题的欢喜。
你可不可以
成为我的main函数
做我此生必须有
且只能有一个的入口
我愿为自己加上private
在你的class中只有
你能调用
展开
-
实验7-2-10 简易连连看 (20分)
本题要求实现一个简易连连看游戏模拟程序。给定一个2N×2N的方阵网格游戏盘面,每个格子中放置一些符号。这些符号一定是成对出现的,同一个符号可能不止一对。程序读入玩家给出的一对位置(x1,y1)、(x2,y2),判断这两个位置上的符号是否匹配。如果匹配成功,则将两个符号消为“*”并输出消去后的盘面;否则输出“Uh-oh”。若匹配错误达到3次,则输出“Game Over”并结束游戏。或者当全部符号匹配成功,则输出“Congratulations!”,然后结束游戏。输入格式:输原创 2020-12-21 14:14:31 · 264 阅读 · 0 评论 -
实验6-1 近似求PI (15分)
本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。2π=1+31!+3×52!+3×5×73!+⋯+3×5×⋯×(2×i+1)i!+⋯输入格式:输入在一行中给出精度eps,可以使用以下语句来读输入:scanf("%le", &eps);输出格式:在一行内,按照以下格式输出π的近似值(保留小数点后5位):PI = 近似值输入样例:1E-5输出样例:PI = 3.14158AC原创 2020-12-19 11:02:50 · 815 阅读 · 1 评论 -
实验4-1-12 黑洞数 (20分)
黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个各位数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数。)例如,对三位数207:第1次重排求差得:720 - 27 = 693; 第2次重排求差得:963 - 369 = 594; 第3次重排求差得:954 - 459 = 495;以后会停留在495这一黑洞数。如果三位原创 2020-12-18 19:35:23 · 272 阅读 · 1 评论 -
实验3-11 计算油费 (15分)
实验3-11计算油费(15分)现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。输入格式:输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。..原创 2020-12-18 17:46:36 · 2676 阅读 · 4 评论 -
实验3-1 求一元二次方程的根 (20分)
本题目要求一元二次方程ax^2+bx+c=0的根,结果保留2位小数。输入格式:输入在一行中给出3个浮点系数a、b、c,中间用空格分开。输出格式:根据系数情况,输出不同结果:1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;3)如果方程只有一个根,则直接输出此根;4)如果系数都为0,则输出"Zero Equation";5)如果a和b为0,c不为0,则输原创 2020-12-15 16:19:26 · 3078 阅读 · 0 评论 -
C语言程序设计精髓 第14周——结构设计的艺术 练兵区——编程题
1学生成绩管理系统V5.0(4分)题目内容:某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入)。参考学生成绩管理系统V4.0,定义结构体类型,用结构体数组作函数参数,编程实现如下菜单驱动的学生成绩管理系统:(1)录入每个学生的学号、姓名和各科考试成绩;(2)计算每门课程的总分和平均分;(3)计算每个学生的总分和平均分;(4)按每个学生的总分由高到低排出名次表;(5)按每个学生的总分由低到高排出名次表;(6)按学号由小到大排出成绩表;(7)按姓名的原创 2020-06-30 19:19:45 · 552 阅读 · 0 评论 -
C语言程序设计精髓 第15周——学会保存你的数据 练兵区——编程题
1计算零件数(4分)题目内容:有一堆零件(100–200之间),如果分成4个零件一组的若干组,则多2个零件,如果分成7个零件一组的若干组,则多3个零件,如果分成9个零件一组的若干组,则多5个零件,编程计算这堆零件的总数。输入格式: 无输出格式: “%d\n”为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC#include <stdio.h>#include <stdlib.h>int a[原创 2020-06-30 11:20:59 · 593 阅读 · 0 评论 -
C语言程序设计精髓 第15周——学会保存你的数据 练兵区——单选题
1单选(1分)下面的程序执行后,文件test中的内容是#include <stdio.h>#include <string.h>void Fun(char *fname,char *st){ FILE *myf; int i; myf=fopen(fname,"w" ); if (myf == NULL) { printf("cannot open the file.\n"); exit(0); }原创 2020-06-30 10:27:42 · 1653 阅读 · 0 评论 -
C语言程序设计精髓 第13周——原来内存也可以这么玩,我是指针我怕谁 练兵区——编程题
1学生成绩管理系统V4.0(4分)题目内容:某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入)。参考学生成绩管理系统V3.0,用二维数组作函数参数编程实现如下菜单驱动的学生成绩管理系统:(1)录入每个学生的学号、姓名和各科考试成绩;(2)计算每门课程的总分和平均分;(3)计算每个学生的总分和平均分;(4)按每个学生的总分由高到低排出名次表;(5)按每个学生的总分由低到高排出名次表;(6)按学号由小到大排出成绩表;(7)按姓名的字典顺序排出成绩表;原创 2020-06-28 17:45:49 · 961 阅读 · 0 评论 -
C语言程序设计精髓 第12周——海陆空齐上阵:又来了一堆数据 练兵区——编程题
1大奖赛现场统分(4分)题目内容:已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选手的最后得分。要求编程实现:(1)根据n个选手的最后得分,从高到低输出选手的得分名次表,以确定获奖名单;(2)根据各选手的最后得分与各评委给该选手所评分数的差距,对每个评委评分的准确性和评分水准给出一个定量的评价,从高到低输出各评委得分的名次表。提示:首先设计如下5个数组:(1)sh[i],原创 2020-06-26 21:25:25 · 506 阅读 · 0 评论 -
C语言程序设计精髓 第11周——指针的孪生兄弟 练兵区——编程题
1找出按字典顺序排在最前面的国名(4分)题目内容:输入5个国名,编程找出并输出按字典顺序排在最前面的国名。提示:所谓字典顺序就是将字符串按由小到大的顺序排列,因此找出按字典顺序排在最前面的国名指的就是最小的字符串。程序的运行结果示例:Input five countries’ names:America↙China↙Japan↙England↙Sweden↙The minimum is:America输入提示信息:“Input five countries’ names:\n”输入原创 2020-06-23 16:40:11 · 814 阅读 · 0 评论 -
C语言程序设计精髓 第10周——字符串:C语言世界中的大力水手 练兵区——编程题
1有趣的“回文”检测(4分)题目内容:英文中有很多的回文词,回文词的拼法十分有趣,无论是从前往后拼读,还是从后往前拼读,他们的拼法和词义都不变。例如:dad(爸爸),mum(妈妈),noon(中午),eve(前夕),eye(眼睛),pop(流行),deed(行为),level(水平)等。简单地说,“回文”就是指顺读和倒读都一样的字符串。现在请你编程输入一个单词,判断它是否是回文。提示:(1)设置两个指针pStart和pEnd,让pStart指向字符串首部,让pEnd指向字符串尾部。(2)利用循环从原创 2020-06-20 17:31:34 · 745 阅读 · 0 评论 -
C语言程序设计精髓 第9周——指针:C语言世界中所向披靡的“金箍棒” 练兵区——编程题
1二分法求根(4分)题目内容:用二分法求下面的一元三次方程在区间[-10, 10]上误差不大于的根。用二分法求方程的根的基本原理是:若函数有实根,则函数曲线应当在根x*这一点上与x轴有一个交点,并且由于函数是单调的,在根附近的左右区间内,函数值的符号应当相反。利用这一特点,可以通过不断将求根区间二分的方法,每次将求根区间缩小为原来的一半,在新的折半后的区间内继续搜索方程的根,对根所在区间继续二分,直到求出方程的根为止。该方法的关键在于要解决如下两个问题:1)如何对区间进行二分,并在二分后的左右两原创 2020-06-18 18:24:53 · 686 阅读 · 0 评论 -
C语言程序设计精髓 第8周—— 一堆数据来了,你准备好了吗 练兵区——编程题
1三天打渔两天晒网(4分)题目内容:中国有句俗语叫“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”,即工作三天,然后再休息两天。问这个人在以后的某一天中是在工作还是在休息。从键盘任意输入一天,编程判断他是在工作还是在休息,如果是在工作,则输出:He is working,如果是在休息,则输出:He is having a rest,如果输入的年份小于1990或者输入的月份和日期不合法,则输出:Invalid input。输入格式: “%4d-%2d-%2d”输出格式:“In原创 2020-05-23 12:05:03 · 794 阅读 · 0 评论 -
C语言程序设计精髓 第7周——《盗梦空间》的逻辑:探寻递归的奥秘 练兵区——编程题
1谐均值计算(4分)题目内容:两数值的谐均值可以这样计算:首先对两数值的倒数取平均值,最后再取倒数。编写一个带有两个double参数的函数,计算这两个参数的谐均值。函数原型为:double Calculate(double x,double y);程序运行结果示例1:Input two doubles:3 4↙1/((1/x+1/y)/2) = 3.429程序运行结果示例2:Input two doubles:6.5 3.8↙1/((1/x+1/y)/2) = 4.796输入提示信息原创 2020-05-21 09:26:44 · 847 阅读 · 2 评论 -
C语言程序设计精髓 第2周——数字间的那些事儿,做点计算哈 练兵区——编程题
1输出逆序数(3分)题目内容:从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3100+210+1 = 321,并输出321。提示:从键盘输入数据可以使用函数scanf()。例如,scanf("%d", &x); 表示从键盘输入整数并存入整形变量x中。利用取绝对值函数 fabs()忽略输入数据的负号。fabs(x)表示计算变量x的绝对值。3.使用数学函数,需要在程序开头原创 2020-05-16 09:50:20 · 1608 阅读 · 0 评论 -
C语言程序设计精髓 第1周——初识C语言从认识变量和常量开始 练兵区——编程题
1hello world!(3分)题目内容:使用printf()在屏幕上输出 hello world!提示:#include <stdio.h>int main(){ printf("hello world!\n"); return 0;}输入格式: 无输出格式:输出提示信息:“hello world!\n”输出样例:hello world!为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000k原创 2020-05-16 09:39:09 · 718 阅读 · 0 评论 -
C语言 清空缓冲区
问题的来源考虑到下面的代码#include<stdio.h>int main(){ int n; do{ scanf("%d", &n); printf("%d\n", n); }while(n!=-1);}就是输入一个数, 然后输出这个数, 如果输入-1 就表示结束。 但是如果用户不小心输入了一个字母 , 或者其他非数字字符,就会发生死循环,这是为什么呢?产生问题的原因这是因为scanf函数是从缓冲区读.原创 2020-05-16 00:01:36 · 672 阅读 · 0 评论 -
C语言程序设计精髓 第6周——函数:分工与合作的艺术 练兵区——编程题
1绘制金字塔(4分)题目内容:要求用户从键盘输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:AABAABCBAABCDCBA程序运行结果示例1:Please input a capital:D↙____A___ABA__ABCBA_ABCDCBA程序运行结果示例2:Please input a capital:F↙______A_____ABA____ABCBA___ABCDCBA__ABCDEDCBA_ABCDEFEDCBA(说明:上面运行结果示例中原创 2020-05-15 23:43:05 · 1572 阅读 · 0 评论 -
C语言程序设计精髓 第5周——周而复始的循环之道 练兵区——编程题
1判断一个整型数据有几位v2.0(4分)题目内容:从键盘输入一个整型数据(int型),编写程序判断该整数共有几位,并输出包含各个数字的个数。例如,从键盘输入整数16644,该整数共有5位,其中有1个1,2个6,2个4。程序运行结果示例1:Please enter the number:12226↙12226: 5 bits1: 12: 36: 1程序运行结果示例2:Please enter the number:-12243↙-12243: 5 bits1: 12: 23:原创 2020-05-12 19:38:13 · 1904 阅读 · 0 评论 -
C语言程序设计精髓 第4周——无处不在的抉择 练兵区——编程题
1检测用户错误输入(4分)题目内容:根据scanf()的返回值判断scanf()是否成功读入了指定的数据项数,使程序在用户输入123a时,能输出如下运行结果:123a↙Input error!输入格式:"%d %d"输出格式:如果成功读入指定的数据项数,输出格式为:"a = %d, b = %d\n"(注意:等号的两边各有一个空格)输入非法数据,输出格式为:...原创 2020-05-08 09:59:29 · 1543 阅读 · 0 评论 -
C语言程序设计精髓 第3周——从键盘中来,到键盘中去,开始输入和输出啦 练兵区——编程题
1日期显示(3分)题目内容:编写一个程序, 接收用户录入的日期信息并且将其显示出来. 其中, 输入日期的形式为月/日/年(mm/dd/yy), 输出日期的形式为年月日(yy.mm.dd)。以下为程序的运行结果示例:Enter a date (mm/dd/yy):12/03/2015↙You entered the date: 2015.12.03输入格式...原创 2020-04-17 01:13:57 · 948 阅读 · 0 评论 -
线性表算法总结
目录定义分类优点特征基本操作存储结构结构特点线性表的推广参考资料顺序表结点定义创建顺序表删除顺序表中所有值为x的元素删除顺序表中重复的元素将偶数元素放到奇数元素之前反转顺序表的元素反转顺序表区间[l,h)中的元素顺序表循环左移K位单链表结点定义用arr中的元素创建一个长度为n的带头结点的单链表删除单链...原创 2019-10-31 16:59:16 · 958 阅读 · 0 评论 -
201803-2 碰撞的小球
问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。...原创 2019-03-05 21:37:04 · 194 阅读 · 0 评论 -
201809-2 买菜
问题描述 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车。具体的,对于小H来说有n个不相交的时间段[a1,b1],[a2,b2]...[an,bn]在装车,对于小W来说有n个不相交的时间段[c1,d1],[c2,d2]...[cn,dn]在装车。其中,一个时间段[s, t]表示的是从时刻s到...原创 2019-03-02 10:11:34 · 152 阅读 · 0 评论 -
01-复杂度2 Maximum Subsequence Sum
Given a sequence ofKintegers {N 1 ,N 2 , ...,N K }. A continuous subsequence is defined to be {N i ,N i+1 , ...,N j } where1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence whi...原创 2019-03-01 15:06:23 · 580 阅读 · 0 评论 -
Switch-case语句详解
switch语句的语法如下(case、default和break是其配套关键字):switch ( 表达式 ) { case 常量表达式1: 语句1; 可以是多行,可以加括号,也可以不加,到下一个case之前,都是本case的语句范围 [break;] 中括号,表示此语句可以没有 case 常量表达式2: ...原创 2019-02-24 13:09:40 · 6129 阅读 · 0 评论 -
1158: 又是排序(指针专题)expected declaration or statement at end of input
1158: 又是排序(指针专题)时间限制: 1 Sec 内存限制: 128 MB 题目描述将输入的四个整数按由大到小的顺序输出。 已定义如下swap函数,可实现形参pa和pb所指内存单元的内容交换。请务必使用本函数实现两个变量内容的互换。 void swap( int *pa, int *pb) { int t; t=*pa; *pa=*pb; *pb=t; } ...原创 2018-09-09 16:43:18 · 1101 阅读 · 0 评论 -
201709-1 打酱油
问题描述 小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。输入格式 输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。输出格式 输出一个整数,表示小明最多可以得到多少瓶酱油。样例输入40样例输出5样例说明 把40元分成30元和10元...原创 2019-03-10 19:56:45 · 230 阅读 · 0 评论 -
201509-1 数列分段
问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 第二行包含n个整数a1,a2, …,an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式 输出一个整数,表示给定的数列有多个段。样例输入88 8 8 0 12 12 8 0样例输出5样...原创 2019-10-09 20:39:24 · 248 阅读 · 0 评论 -
201604-1 折点计数
问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。 给定n个整数a1,a2, …,an表示销售量,请计算出这些天总共有多少个折点。 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的...原创 2019-03-12 22:12:10 · 113 阅读 · 0 评论 -
201609-1 最大波动
问题描述 小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式 输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。输出格式 输出一个整数,表示这只股票这n天中的最大波动...原创 2019-03-12 22:15:52 · 132 阅读 · 0 评论 -
201612-1 中间数
问题描述 在一个整数序列a1,a2, …,an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。输入格式 输入的第一行包含了一个整数n,表示整数序列中数的个数。 第二行包含n个正整数,依次表示a1,a2, …,an。输...原创 2019-03-12 22:45:13 · 721 阅读 · 0 评论 -
201703-1 分蛋糕
问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1,a2, …,an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问当小明...原创 2019-03-12 22:50:20 · 202 阅读 · 0 评论 -
02-线性结构2 一元多项式的乘法与加法运算
设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2...原创 2019-03-13 16:09:34 · 145 阅读 · 0 评论 -
01-复杂度3 二分查找
本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position ...原创 2019-03-13 16:14:35 · 478 阅读 · 0 评论 -
1144: 多种进制
1144: 多种进制时间限制: 1 Sec 内存限制: 128 MB 题目描述输入一个十进制整数n,转换成2、3、7、8进制输出 要求程序定义一个dToK()函数,功能是将十进制数转化为k进制整数,其余功能在main()函数中实现。 void dToK(int n, int k, char str[]) { //将n转化为k进制数,存入str } 输入输入...原创 2018-09-05 10:36:11 · 326 阅读 · 0 评论