
C语言教学
迂者-贺利坚
烟台大学计算机学院教师,坚持教育情怀,持续进行教学改革。和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,追求快乐与激情的大学。著书《逆袭大学:传给IT学子的正能量》,帮助迷茫中的大学生。
展开
-
程序设计基础(C语言)课程主页-2016级
时间很快,2016级的小鲜肉们已经在猜测老贺长什么样子了。 从在线作业到翻转课堂,几届的学生跟着我受了不少苦。话虽这么说,并不代表2016级的就要轻松了(老贺虚伪到底!)。不过,苦孩子们,享受吧。 话说回来,老贺在这一届身上也不会太轻松。翻转课堂的模式不陌生了,但新生出来的想解决的问题并不少,让学生学得有效、学得有趣、学得轻松是我的追求。做过不少资源,但随着培养方案的变化,选用教材的变化原创 2016-09-16 21:36:51 · 9312 阅读 · 12 评论 -
C语言OJ项目参考(2290)字符串的修改
2290: 字符串的修改Description 一个字符串s、一个字符串t,判断t是否是s的子串,若是则将s中所有出现了t串的地方换成指定的字符或字符串p,若不是,则输出NO Input 一个字符串s、一个字符串t,要换的字符或字符串 Output 输出修改后的s串 Sample Input** asdfasdf 132 saf Sample Output NO 参考解答:原创 2016-12-09 19:02:04 · 2208 阅读 · 0 评论 -
C语言程序设计实践(OJ)-全局变量、文件操作
2969:学生成绩的处理Description 编写一个函数void calcscore(int n),在函数中输入n个人的成绩,计算最高分,最低分,总分和平均分,要求在主函数中调用函数calcscore计算各种成绩,并在主函数中输出各种计算结果。(使用全局变量在函数之间传递多个数据)#include <stdio.h>double HighScore; /*全局变量,最高分*/doubl原创 2016-11-22 22:06:58 · 1676 阅读 · 0 评论 -
C语言OJ项目参考(2972)从文件中读数据
2972: 从文件中读数据Description 文本文件score.dic 中存储了n名学生的信息(班级编号,姓名,成绩),每个学生信息占一行,每行的数据之间使用制表符分割,如下所示:145811 fuxin 100145811 chengxian 90145812 zhangxue 92145812 lijun 88…… 文件中存储的学生信息按照班级编号升序排列,每个班级原创 2016-11-22 22:13:58 · 2484 阅读 · 3 评论 -
C语言OJ项目参考(2969)学生成绩的处理
2969:学生成绩的处理Description 编写一个函数void calcscore(int n),在函数中输入n个人的成绩,计算最高分,最低分,总分和平均分,要求在主函数中调用函数calcscore计算各种成绩,并在主函数中输出各种计算结果。(使用全局变量在函数之间传递多个数据)#include <stdio.h>double HighScore; /*全局变量,最高分*/doubl原创 2016-11-22 22:12:23 · 1810 阅读 · 0 评论 -
C语言程序阅读-变量的存储类别、函数及参数
写出程序运行结果,再运行程序进行比较。 (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) { static int a=2; int原创 2016-11-22 22:10:06 · 1253 阅读 · 0 评论 -
C语言OJ项目参考(2305)你就成了我
2305: 你就成了我Description 编写一个C程序实现将字符串中的所有”you”替换成”we” Input 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 Output 对于输入的每一行,输出替换后的字符串 Sample Input** you are what you do Sample Output we are what we d原创 2016-12-09 18:59:24 · 1524 阅读 · 0 评论 -
C语言OJ项目参考(2970)利用参数宏进行角度与弧度转换
2970: 利用参数宏进行角度与弧度转换Description 定义参数宏AngleToRadian(degree,minute,second),将度(degree)、分(minute)、秒(second)转换为弧度。(#define PI 3.14159)#include <stdio.h>#define PI 3.14159/**********/在此补充缺少的代码/**********/i原创 2016-11-15 10:49:31 · 2695 阅读 · 0 评论 -
C语言OJ项目参考(1056)输出已交换后的两个值
1056: (用宏)输出已交换后的两个值Description 定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。Input 两个短整型数,空格隔开 两个小数,空格隔开 两个长整数,空格隔开Outputt 交换后的两个数,空格隔开Sample Input 1 2 1.5 2.5 655原创 2016-11-15 10:47:23 · 2891 阅读 · 0 评论 -
C语言OJ项目参考(2021)汉诺塔
2021: 汉诺塔Description 汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们搬得汗流满面,可惜当n很大时这辈子恐怕就很搬了原创 2016-11-15 10:45:25 · 2293 阅读 · 0 评论 -
C语言OJ项目参考(1942)进制转换
1942: 进制转换Description 输入一个十进制数N,将它转换成R进制数输出。Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。Outputt 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。Sample Input 7 2 23 12 -原创 2016-11-15 10:24:18 · 1686 阅读 · 0 评论 -
C语言OJ项目参考(2747) 进制转换
2747: 进制转换(十进制转二进制)Description 输入一个非负整数(十进制),输出此整数对应的二进制数Input 正整数(十进制)Outputt 对应的二进制数Sample Input 6 Sample Outputt 110参考解答:#include<stdio.h>void binary(int n);int main(){ int n; scanf(原创 2016-11-15 10:22:29 · 1932 阅读 · 0 评论 -
C语言OJ项目参考(2968)递归方法实现逆序
2968: 递归方法实现逆序Description 你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理。#include <stdio.h>void inverted(int); /*函数声明*/int main(){ int n; /*需要逆序的整数*/ scanf("%d",&n); i原创 2016-11-15 10:20:32 · 1627 阅读 · 0 评论 -
C语言及程序设计(公开课)主页
第1章 引言及体验 1.1 人人学点程序设计 1.2 程序设计语言 1.3 搭建C语言的运行平台 1.4 C语言程序初体验 实践任务:链接 参考解答:1-星号拼字母 2-长方形周长和面积 3-并联电阻 4-圆柱表面积 1.5分支结构程序体验第2章 数据的表示和运算 2.1数值型数据 2.2 变量的使用 程序阅读 2.3 标识符及其命名 2.4 算术运算符与算术表原创 2016-11-15 09:22:13 · 9386 阅读 · 1 评论 -
C语言OJ项目参考(2886)大写改小写
2886: 大写改小写Description 输入字符串(长度20以内),将字符串中大写字母改为小写字母,其他字符不变,输出改变后的字符串。 Input 一个字符串(长度20以内) Output 输出改变后的字符串(改变规则:将字符串中大写字母改为小写字母,其他字符不变) Sample Input** ABC123bus Sample Output abc123bus参考解答:#i原创 2016-12-09 09:54:11 · 2046 阅读 · 0 评论 -
C语言OJ项目参考(2568) 字符串逆序输出
2568: 字符串逆序输出Description 编写一个函数,功能是使输入的字符串逆序输出。 Input 输入一串字符串,注意字符串中不要有空格。 Output 输出该字符串的逆序。 Sample Input** ABCDEFG Sample Output GFEDCBA HINT#include<stdio.h>#include<string.h>int main(){原创 2016-12-09 10:06:54 · 3155 阅读 · 0 评论 -
C语言OJ项目参考(2279) 字符串分段(串)
2279: 字符串分段(串)Description 输入一个字符串,将其分段输出,分段符为除字母和数字之外的符号。 Input 输入一个字符串 Output 输出分段后的字符串 Sample Input** ad/adfa,,123d?#a1 Sample Output ad adfa 123d a1参考解答:#include <stdio.h>int main( ){原创 2016-12-09 10:09:17 · 1808 阅读 · 0 评论 -
C语言实践-结构体
【项目1-复数结构体】编写一个程序,首先定义一个复数数据类型,即结构类型。然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出,请将程序补充完整。#include <stdio.h>struct complex{ int re; int im;};int main(){ struct complex x,y,s,p; scanf("%d%d",&x.原创 2016-12-14 08:36:53 · 2037 阅读 · 0 评论 -
C语言程序设计实践(OJ)-结构体
2428: 计算该日在本年中是第几天Description 定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出。 Input 年月日 Output 当年第几天 Sample Input 2000 12 31 Sample Output 366 HINT 主函数已给定如下,提交时不需原创 2016-12-14 07:54:52 · 2028 阅读 · 0 评论 -
C语言OJ项目参考(2878)学生信息排序
2878: 结构体–学生信息排序Description 定义存放一个学生信息的结构体类型,学生信息包括:姓名,学号,性别,院系,要求在随意输入5个学生的相关信息后,按照学号从小到大顺序输出这些学生的信息。 Input 先输入5名学生的信息,按学号顺序排序输出后在输入要统计的院系名称 Output 先按学号从小到大的顺序输出学生信息 Sample Input zhang3 2014原创 2016-12-14 08:04:24 · 3521 阅读 · 0 评论 -
C语言OJ项目参考(2877)职工信息结构体
2877: 结构体—职工信息结构体Description 编写程序,定义一个存放职工信息的结构体类型,职工信息包括职工姓名、工作年限、工资总额。初始化5名职工的信息,对工作年限超过30年的职工每人加100元工资,要求分别输出工资变化之前和之后的所有职工的信息。 Input 输入5个员工的职工姓名、工作年限、工资总额 Output 输出两部分,第一部分输出工资变化之前所有职工的信息,第二部分原创 2016-12-14 07:59:07 · 2259 阅读 · 0 评论 -
C语言OJ项目参考(2428) 本年中是第几天
2428: 计算该日在本年中是第几天Description 定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出。 Input 年月日 Output 当年第几天 Sample Input 2000 12 31 Sample Output 366 HINT 主函数已给定如下,提交时不需原创 2016-12-14 07:56:34 · 1681 阅读 · 0 评论 -
C语言OJ项目参考(2424)字符串比较
2424: 字符串比较Description 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int stringcmp(char *p1,char *p2); 设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的ASCII码差值(如”BOY”与”BAD”,第2个字母不同,”O”与”A”之差为79-65原创 2016-12-09 18:53:43 · 1449 阅读 · 0 评论 -
C语言OJ项目参考(2874)包含B的字符串
2874: 包含B的字符串Description 输出n个字符串,把其中以包含字母B或b的字符串输出。 Input 第一行 n 第二行到第n+1行,每行一个字符串 Output 包含字母B或b的字符串 Sample Input** 6 Ada Bob Tom Brown Jobs Alice Sample Output Bob Brown Jobs参考解答:原创 2016-12-09 18:55:31 · 1309 阅读 · 0 评论 -
C语言OJ项目参考(2569)统计字符串种类
2569: 统计字符串种类Description 用指针编写一个程序,输入字符串后,统计其中各种字符的个数,输出其中大小写字母,数字,以及其他字符的个数。 主函数已经给出,请编写统计字符种类函数。 Input 一串字符串 Output 该字符串中大小写字母,数字,以及其他字符的个数,最后输出总字符串长度。 Sample Input** I play LOL for 3 years.原创 2016-12-09 18:52:28 · 1996 阅读 · 0 评论 -
C语言OJ项目参考(2802)判断字符串是否为回文
2802: 判断字符串是否为回文Description 编写程序,判断输入的一个字符串是否为回文。若是则输出“Yes”,否则输出“No”。所谓回文是指順读和倒读都是一样的字符串。 Input Output Sample Input** abcddcba Sample Output Yes 参考解答:#include<stdio.h>#include<string.h>int ma原创 2016-12-09 18:51:04 · 4724 阅读 · 0 评论 -
C语言OJ项目参考(2274)字符串插入
2274: 字符串插入Description 将字符串t插入到字符串s中,在位置pos后插入。不得使用字符串操作函数,输出组合成的字符串。 Input 输入两个字符串(t和s)和要插入的位置(pos) Output 输出组合后的字符串 Sample Input** qwe jij 3 Sample Output jijqwe 参考解答:#include<stdio.h>in原创 2016-12-09 18:49:22 · 1637 阅读 · 0 评论 -
C语言OJ项目参考(2284)按长度截断
2284: 按长度截断Description 输入一个字符串,将其按给定的长度n格式化并输出,若n=0,则输出原字符串 Input 输入一个字符串 Output 格式化并输出 Sample Input** asdfasdf 3 Sample Output asd fas Df 参考解答:#include<stdio.h>int main(){ char s[10原创 2016-12-09 18:47:52 · 1361 阅读 · 2 评论 -
C语言OJ项目参考(1052)两个字符串连接
1052: 两个字符串连接Description 写一函数,将两个字符串连接 Input 两行字符串 Output 链接后的字符串 Sample Input** 123 abc Sample Output 123abc参考解答: 函数版参考1:#include<stdio.h>void stringcat(char *s1, char *s2, char *s);int m原创 2016-12-09 18:44:16 · 2286 阅读 · 0 评论 -
C语言OJ项目参考(2417) 字符串长度
2417: 字符串长度Description 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。 Input 一行字符串 Output 字符串长度 Sample Input** t9g(*&WE3@#$fw2adECWEr Sample Output 22 HINT 主函数已给定如下,提交时不需要包含下述主函数/* C代码 */int main(){原创 2016-12-09 18:39:42 · 1543 阅读 · 0 评论 -
C语言项目参考-爬楼梯
【项目-爬楼梯】 楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序计算共有多少种不同的走法? 【参考解答(递归法)】#include<stdio.h>int main(){ unsigned long count(int n); int n; unsigned long m; printf("请输入楼梯的阶数:"); scanf("%d原创 2016-11-16 18:23:05 · 12647 阅读 · 3 评论 -
C语言程序-打豆豆(函数版)
【项目】 设计一个程序,能重复地在显示下面的信息: * 1. 吃饭 * 2. 睡觉 * 3. 打豆豆 * 0. 退出 * 请选择(0-3): 根据用户输入的选项,输出一句提示性的话语(将来会对应实现某个功能)。输入0,则退出。 要求将各功能定义专门的函数。参考解答:#include <stdio.h>#define EAT '1'#define SLEEP '2'#d原创 2016-11-16 11:39:07 · 1986 阅读 · 2 评论 -
C语言OJ项目参考(1923) ASCII码排序
(1923) ASCII码排序 Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。 Sample Input qwe asd zxc Sample Output e q w a d s c x原创 2016-10-26 20:20:49 · 13181 阅读 · 16 评论 -
C语言OJ项目参考(1032) 统计字符个数
(1032) 统计字符个数 Description 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。 Input 一行字符 Output 统计值 Sample Input aklsjflj123 sadf918u324 asdf91u32oasdf/.’;123 Sample Output 23 16 2 4[参考解答]#include "stdio.h"in原创 2016-10-26 20:18:37 · 3540 阅读 · 0 评论 -
C语言OJ项目参考(2013)一元二次方程Ⅱ
(2013)一元二次方程Ⅱ Description 求一元二次方程ax 2 +bx+c=0 ax^2+bx+c=0的解。a,b,c为任意实数。 Input 输入数据有一行,包括a b c的值。 Output 按以下格式输出方程的根x1和x2。x1和x2之间有一个空格。 x1 x2 (1)如果x1和x2为实根,则以x1>=x2输出。 (2)如果方程是共轭复根,x1=m+ni,x2=原创 2016-10-12 20:59:17 · 3042 阅读 · 1 评论 -
C语言程序设计实践(OJ)-算术运算与分支结构
(1021)按要求输出 Description 编写一个C程序,输出以下信息:************************** Very Good!**************************数*号可看出,Very前面9空格,Good前面*也是输出的一部分,别光打印Very Good! Input 无需输入 Output****************原创 2016-10-12 11:09:31 · 2114 阅读 · 0 评论 -
C语言OJ项目参考(1030)求奖金总数
(1030)求奖金总数 Description 企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%; 利润高于100000元,低于200000元(100000<I≤200000100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%; 200000<I≤400000200000<I≤400000时,低于200原创 2016-10-12 21:22:23 · 3990 阅读 · 0 评论 -
C语言OJ项目参考(2681)求三角形面积
(2681)求三角形面积 Description 输入三条边的长度,如果这三条边能构成三角形,则需要计算三角形面积,如果不能构成三角形则输出提示信息 “error input”。输出的面积按两位小数方式输出 Input 三条边的长度 Output 如果这三条边能构成三角形,则输出该三角形面积,如果这三条边不能构成三角形,则输出提示信息“error input” Sample Input原创 2016-10-12 20:47:37 · 3946 阅读 · 0 评论 -
C语言OJ项目参考(2493)四则运算
(2493)输入两个整数,进行四则运算并输出结果 Description 输入两个整数,进行加减乘除四则运算并输出结果。比如:输入a,b,进行a+b,a-b,a*b,a/b的运算,输出他们的计算结果。 Input 输入两个数 Output 输出两个数加减乘除的结果,每个结果占一行。 Sample Input 6 3 Sample Output 9 3 18 2 [参考解答原创 2016-10-12 20:36:47 · 2643 阅读 · 0 评论 -
C语言OJ项目参考(1021)按要求输出
(1021)按要求输出 Description 编写一个C程序,输出以下信息:************************** Very Good!**************************数*号可看出,Very前面9空格,Good前面*也是输出的一部分,别光打印Very Good! Input 无需输入 Output****************原创 2016-10-12 20:35:39 · 2357 阅读 · 0 评论