烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学
【项目1 - 数组大折腾】 (1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后(从第0个到第19个)输出数组中元素的值,每5个元素换一行。 int main( ) { int a[20]={...}; //初始化前10个元素 //键盘输入后10个元素的值
1044:矩阵对角线元素之和 Description 求一个3×3矩阵对角线元素之和。 Input 矩阵 Output 主对角线 副对角线 元素和 Sample Input 1 2 3 1 1 1 3 2 1 Sample Output 3 7 参考解答: #include <stdio.h> int main() { int a
2747:进制转换(十进制转二进制) Description 输入一个非负整数(十进制),输出此整数对应的二进制数 Input 正整数(十进制) Output 对应的二进制数 Sample Input 6 Sample Output 110 参考解答: #include <stdio.h> int main() { int a[32]
1045:插入有序数组中 Description 已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。 Input 第一行,原始数列。第二行,需要插入的数字。 Output 排序后的数列 Sample Input 1 7 8 17 23 24 59 62 101 50 Sample Output 1 7 8 17 23 24
Description 输入10个整数存入一维数组,按逆序重新存放后再输出。 Input 输入包括一行。10个以空格隔开的整数。 Output 逆序的10个整数,整数以空格隔开。 Sample Input 1 3 5 9 7 6 8 2 4 0 Sample Output 0 4 2 8 6 7 9 5 3 1 提示:在OJ平台中,将有一个格式错误可能会让你崩溃。
2000: 数组逆序 Description 输入10个整数存入一维数组,按逆序重新存放后再输出。 Input 输入包括一行。10个以空格隔开的整数。 Output 逆序的10个整数,整数以空格隔开。 Sample Input 1 3 5 9 7 6 8 2 4 0 Sample Output 0 4 2 8 6 7 9 5 3 1 提示:将有一个格式错误让你崩
【来信】 贺老师,您好,我是一名师范类二本院校的计算机专业的学生,本想今年考研冲击一所名校,但因我是专升本上来的,普本4年的课要在1年半学完(支教半年),特别是大四上学期课多的无法抽身,导致今年复习的不好,感觉自己今年考研无望了,还有一个月,不知道自己是该坚持复习,还是好好上大四的课?考试成绩还不错的我,可是没有任何能拿得出手的技能,感觉自己在学校好多年就知道学习考试,
2972: 从文件中读数据 Description 文本文件score.dic 中存储了n名学生的信息(班级编号,姓名,成绩),每个学生信息占一行,每行的数据之间使用制表符分割,如下所示: 145811 fuxin 100 145811 chengxian 90 145812 zhangxue 92 145812 lijun 88 …… 文件中存储
2969:学生成绩的处理 Description 编写一个函数void calcscore(int n),在函数中输入n个人的成绩,计算最高分,最低分,总分和平均分,要求在主函数中调用函数calcscore计算各种成绩,并在主函数中输出各种计算结果。(使用全局变量在函数之间传递多个数据) #include <stdio.h> double HighS
写出程序运行结果,再运行程序进行比较。 (1) #include<stdio.h> int f(int n); int main() { printf("%d\n", f(5)); printf("%d\n", f(8)); return 0; } int f(int n) { sta
2969:学生成绩的处理 Description 编写一个函数void calcscore(int n),在函数中输入n个人的成绩,计算最高分,最低分,总分和平均分,要求在主函数中调用函数calcscore计算各种成绩,并在主函数中输出各种计算结果。(使用全局变量在函数之间传递多个数据) #include <stdio.h> double HighS
【项目-爬楼梯】 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序计算共有多少种不同的走法? 【参考解答(递归法)】 基础:楼梯有一个台阶,只有一种走法(一步登上去);两个台阶,有2种走法(一步上去,或分两次上去); 递推:有n个台阶时,设有count(n)种走法,最后一步走1个台阶,有count(n-1)种走法;最后一步走2个台阶,有co
【项目1——递归求解】 (1)立方累加和:用递归函数求f(n)=1 3 +2 3 +...+n 3 f(n)=1^3+2^3+...+n^3,要求先将f(n)数学表达式表示成递归的形式,然后再编程序实现。 (2)写出求1*3*…*n的递归式,并编写出递归函数求解。 (3)编程序,用递归函数求出两个数的最大公约数。(包括编main函数,调用定义的递归函数) 参考解答
【项目】 设计一个程序,能重复地在显示下面的信息: * 1. 吃饭 * 2. 睡觉 * 3. 打豆豆 * 0. 退出 * 请选择(0-3): 根据用户输入的选项,输出一句提示性的话语(将来会对应实现某个功能)。输入0,则退出。 要求将各功能定义专门的函数。 参考解答: #include <stdio.h> #define EAT '1
【事件】 某名数据结构基础网络学员在“单链表的基本算法”部分连问两个问题: 老师,我while语句里面j<i-1改为j<i,else里面直接q=p可以么? 老师,你这样万一刚好q->next==NULL呢,这样没影响吧? 我的“即时”回答,也已经是10个小时之后了,我不知道他看到解答后,状态还在不在。另外,这种问题,并非是可以、不
2970: 利用参数宏进行角度与弧度转换 Description 定义参数宏AngleToRadian(degree,minute,second),将度(degree)、分(minute)、秒(second)转换为弧度。(#define PI 3.14159) #include <stdio.h> #define PI 3.14159 /*******
1056: (用宏)输出已交换后的两个值 Description 定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。 Input 两个短整型数,空格隔开 两个小数,空格隔开 两个长整数,空格隔开 Outputt 交换后的两个数,空格隔开 Sample Inpu
2021: 汉诺塔 Description 汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们搬得汗流满面,可惜
1942: 进制转换 Description 输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。 Outputt 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等
2747: 进制转换(十进制转二进制) Description 输入一个非负整数(十进制),输出此整数对应的二进制数 Input 正整数(十进制) Outputt 对应的二进制数 Sample Input 6 Sample Outputt 110 参考解答: #include<stdio.h> void binary(int n); i
2968: 递归方法实现逆序 Description 你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理。 #include <stdio.h> void inverted(int); /*函数声明*/ int main() { int n; /*需要逆序的整数*/
2968: 递归方法实现逆序 Description 你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理。 #include <stdio.h> void inverted(int); /*函数声明*/ int main() { int n; /*需要逆序的整数*/
本课程由烟台大学计算机学院贺利坚老师建设。 本主页提供各节课程中的源码,以及配套的实践。 程序设计的学习,必须要通过实践,才能够得到真正的思维训练,获得解决问题的能力。 第1章 引言及体验 1.1 人人学点程序设计 1.2 程序设计语言 1.3 搭建C语言的运行平台 1.4 C语言程序初体验 实践任务:链接 参考解答:1-星号拼字母
【问题】 大学怎样才能做到不随波逐流?大学怎样做到独善其身?大学里,看到很多人做一件事,觉得自己不这样会格格不入,例如大学课堂,没人听老师讲课,都是低头族,玩手机,你如果不这样,别人会说你傻?大学里会有许多不公平,如何调整自己?比如班干部竟选,比如党员。大学里该不该谈恋爱呢?谈恋爱影响学习吗?大学里老师只是教一个学期,有必要和老师多沟通吗?大学里,除了和宿舍人比较熟,没
2965: 趣味取小数 Description 听说大家最近学得不错,教授就准备考考大家,先做出来有奖哦~ 编写一个函数,取一个小数的第n(-10<=n<=16)位,当n大于0时,从小数点位置开始向右取小数部分第n位,当n小于0时,从小数点位置开始向左取整数部分的第n位。 #include <stdio.h> #include <st
2405: 牛顿迭代法求根 Description 用牛顿迭代法求根。方程为ax3+bx2+cx+d=0ax^3+bx^2+cx+d=0。系数a,b,c,d的值一次为1,2,3,4,由主函数输入。求x在1附近的一个实根。求出根后由主函数输出。结果保留两位小数。 Input 系数a,b,c,d的值 Output x在1附近的一个实根 Sample Input 1
1047: 求两个整数的最大公约数和最小公倍数 Description 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 Input 两个数 Output 最大公约数 最小公倍数 Sample Input 6 15 Sample Output 3 30 HINT 主函数已给定如下,提交时不需要包
2962: 日期妙算星座 Description 近几年星座运势十分流行,据说一年之中根据月份可以分出十二个星座,它们分别是:摩羯座(12.21-1.19),水瓶座(1.20-2.18),双鱼座(2.19-3.20),白羊座(3.21-4.19),金牛座(4.20-5.20),双子座(5.21-6.21),巨蟹座(6.22-7.22),狮子座(7.23-8.22),处女座
2966: 循环画三角形 Description 前几天,老师让良哥做一个画空心三角形的程序来取悦小师妹,可把良哥愁死了,C语言基础学得再扎实,算法不精也是硬伤呀!于是良哥又写好了主程序来找机前的你帮忙了^_^ #include <stdio.h> void holl_triangle(int n); /*函数声明*/ int main() {
2963: 判断三角形 Description 娄月的妹妹刘月是个初中生,某天回来兴高采烈的回家告诉姐姐他学会了如何凭借三角形三边判断三角形的形状(设两条短边为啊a,b;长边为c,判断a*a+b*b和c*c的关系),于是娄月告诉刘月,给她三条边,她可以在一秒之内知道三角形是直角,钝角还是锐角三角形,当然,这么快只有编程才能做到。以下是娄月编写的程序,由于忘记了一些知识点,
2964: 查闰年 Description 大家知道如何判断某一年是否是闰年吗?这个问题可难坏了小编,小编在写一个查找m年到n年之间闰年的程序,却苦于判断闰年的函数不会写,据说 今天你有上机课,我就拿着这个问题来找你了– 闰年的条件是:能被4整除但不能被100整除,或能被400整除。 #include <stdio.h> int leap_ye
2964: 查闰年 Description 大家知道如何判断某一年是否是闰年吗?这个问题可难坏了小编,小编在写一个查找m年到n年之间闰年的程序,却苦于判断闰年的函数不会写,据说 今天你有上机课,我就拿着这个问题来找你了– 闰年的条件是:能被4整除但不能被100整除,或能被400整除。 #include <stdio.h> int leap_ye
【项目3-小学生数学考试系统】 1.做一个小学生考试系统,功能包括:(1)利用随机数出10道加法题;(2)小学生用户答题给出每道题的答案;(3)对小学生的答题进行评判;(4)计算出小学生答题正确率。 2. 进一步改进,提高题目质量。要求(1)百以内算术:运算数、结果都在100以内!(2)先随机产生运算符后,针对各个运算产生运算数保证下列要求:对加法,两数之和保证不大于10
第10周实践-阅读下面的程序,试运行并理解其中技术手段 上机时,直接到课程主页点击链接,然后复制源码 【阅读1】使用文件输入输出:运行教学视频中关于文件的程序,体会文件的读写: (1)源码1:文件读写1; (2)源码2:文件读写2 【阅读2】下面的链接中,是银行系统的源码,请阅读并运行(需要的文件请自行建立) 银行系统(第一版)源码 第10周实践:请完成下面的项目
这是一个来自《上大学,不迷茫》慕课中的问题。 【提问】 思索了一个很久的问题,都说大学是个知识库,人人都想一饮而尽,可是越想学好,所面临的问题不计其数,如学习的方法单调,主动性不够,学习目标不明确等等,而现如今,不论是就业也好,考研也罢。都有各方面的杰出人才,上哪都需要经验,然而对现在的大学生来说,所面临的越多,感觉就是越迷茫。老师,对此现象可否给我们提出几点意见
(2698) 大奖赛计分 Description 在歌手大奖赛中,有9位评委为参赛的选手打分,分数为0~10分。选手最后得分为:去掉一个最高分和一个最低分后,取其余7个分数的平均值。请编写一个程序实现这个程序。 Input 9位评委给选手找的分,9个0-10之间的小数 Output 选手的最后得分,即9个成绩中去掉一个最高,去掉一个最低后的平均成绩。结果输出中,保留3位
(1915) 第几天 Description 给定一个日期,输出这个日期是该年的第几天。 Input 输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见Sample Input,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。 Sample Input 2000-01-01 Samp
(2472) 大帆玩英雄联盟 Description 最近大帆喜欢上了玩英雄联盟,而且最喜欢杀别的英雄。大帆玩英雄联盟有个特点,每杀一个英雄他就会十分的兴奋,随之他长长的脑袋就会颤抖一下。根据我的对大帆的研究,他长长的脑袋颤抖次数多了就会口吐白沫,根据多次统计,他平均每杀10个人脑袋就会颤抖一下,脑袋每颤抖10下就会吐一次白沫,他每次玩游戏就会准备一些吃的,他每吃一
(1609) 等比数列 Description 已知q与n,求等比数列之和: 1+q+q2+q3+q4+…+qn1+q+q^2+q^3+q^4+…+q^nInput 输入数据含有不多于50对的数据,每对数据含有一个整数n(1≤n≤20),一个小数q(0<q<2)。 *Output* 对于每组数据n和q,计算其等比数列的和,精确到小数点后3位,每个计算结果应占单独一行。
(2506) 切面条 Description 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? Input 包含多组数据,首先输入T,表示有T组数据.每个数据一行,是对折的次数。
(1923) ASCII码排序 Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。 Sample Input qwe asd zxc Sample Output e q w a d
(1032) 统计字符个数 Description 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。 Input 一行字符 Output 统计值 Sample Input aklsjflj123 sadf918u324 asdf91u32oasdf/.’;123 Sample Output 23 16 2 4 [参考解答] #include
(1032) 统计字符个数 Description 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。 Input 一行字符 Output 统计值 Sample Input aklsjflj123 sadf918u324 asdf91u32oasdf/.’;123 Sample Output 23 16 2 4 参考解答 (1923) ASCII码
一位求职面试被拒的大四学生写信向我求助。我在【】提出我的观点,见下文。 贺老师您好,最近搜索资料时搜到您的博客,发现老师非常乐意帮助新人,真是太好了!所以想写信一封,解解我的一些疑惑.【很高兴你能通过网络途径寻求帮助。其实我做的很有限,通过这种方式,让大学生将自己的问题写一写,写的过程,就是思考过程。再就是,我提点建议,不见得对,但可以作为参考。所谓“乐意”
大学生花钱找别人替课的事,早在报道中遇见,但在现实中,就身在教学一线,还真没有体验。 昨日,数据结构上机课,我要进行一次考勤。这个学期,是近年来教学工作头绪最多的一个学期,定下的“能直接叫上所有学生的名字”的目标,成了我需要特别努力才能做到的事,而这个目标,却又不是最重要的目标,需要让位于其他教学工作。这两个班的学生,整体要好于上一届,尤其学院发给我的“警示”名单中的
(2001) 打印数字图形 Description 从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。 Input 正整数n(1≤n≤9)。 Output 指定数字图形。 Sample Input 5 Sample Output 1 121 12321 1234321 123454321 1234321 12321 121
(1039) 小球自由下落 Description 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数 Input M N Output 它在第N次落地时反弹多高?共经过多少米?保留两位小数,空格隔开,放在一行 Sample Input 1000 5 Sample Output 31.25 2875.00
(1034) 求值 Description 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。 Input n Output 和 Sample Input 5 Sample Output 153 参考解答 #include <stdio.h> int main ( ) { int n, i; long fact
(1992)分数序列 Description 有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。 Input 输入只有一个正整数n,1≤n≤10。 Output 输出该序列前n项和,结果保留小数后6位。 Sample Input 3 Sample Output 5.166667 参考解答 #include
(2399)求倒数和 Description 输入一个小于10的正整数n,求1到n的倒数和(即1+1/2+…+1/n)并输出。 Input 一个整型数 n Output 1+1/2+…+1/n 的值,小数点后保留6位小数。 Sample Input 4 Sample Output 2.083333 参考解答 #include <stdio.h>