高级语言程序设计
追梦2017
黄正鹏,男,1979-。贵州纳雍人,主要从事计算机相关专业的教学科研工作。2003年毕业于贵州大学计算机科学与技术专业,同年进入毕节学院计科系工作,2010年12月获昆明理工大学计算机技术领域工程硕士学位。
展开
-
18年程序竞赛学员博客链接
新起点,我们一起起程! 针对我校(贵州工程应用技术学院)至2016年贵州省首届大学生程序设计大赛二等奖2项、三等奖1项,2017年ACM-ICPC贵州省第二届大学生程序设计大赛一等奖1项、三等奖4项;为了进一步培养优秀的编程爱好者,参与省赛及亚洲区域赛做准备,于2018年我校信息工程学院由黄正鹏、欧莹元、夏仁强3人牵头的算法进阶课程教学等的开展,重点之一是完善课堂方案,让课堂成为再次掌握编...原创 2018-05-22 22:09:13 · 401 阅读 · 0 评论 -
例题3-5 生成元(Digit Generator, ACM/ICPCSeoul 2005, UVa1583)
/*例题3-5 生成元(Digit Generator, ACM/ICPCSeoul 2005, UVa1583)如果x加上x的各个数字之和得到y,就说x是y的生成元。给出n(1≤n≤100000),求最小生成元。无解输出0。例如,n=216,121,2005时的解分别为198,0,1979。【分析】本题看起来是个数学题,实则不然。假设所求生成元为m。不难发现m<n。换句话说,只需枚举所有的...原创 2018-02-24 10:25:52 · 455 阅读 · 0 评论 -
3-2 WERTYU(WERTYU,UVa10082)
3-2 WERTYU(WERTYU,UVa10082)把手放在键盘上时,稍不注意就会往右错一位。这样,输入Q会变成输入W,输入J会变成输入K等。键盘如图3-2...原创 2018-02-22 08:32:01 · 316 阅读 · 0 评论 -
例题3-3 回文词(Palindromes,UVa401)
3-3 例题3-3 回文词(Palindromes,UVa401)输入一个字符串,判断它是否为回文串以及镜像串。输入字符串保证不含数字0。所谓回文串,就是反转以后和原串相同,如abba和madam。所有镜像串,就是左右镜像之后和原串相同,如2S和3AIAE。注意,并不是每个字符在镜像之后都能得到一个合法字符。在本题中,每个字符的镜像如图3-3所示(空白项表示该字符镜像后不能得到一个合法字符)。输入...原创 2018-02-22 08:42:53 · 373 阅读 · 0 评论 -
3-4 猜数字游戏的提示(Master-Mind Hints, UVa 340)
3-4 猜数字游戏的提示(Master-Mind Hints, UVa 340)实现一个经典"猜数字"游戏。给定答案序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)。输入包含多组数据。每组输入第一行为序列长度n,第二行是答案序列,接下来是若干猜测序列。猜测序列全0时该组数据结束。n=0时输入结束。样例输入:41 3 5 51 1 2 34 3 3 56...原创 2018-02-22 12:59:00 · 387 阅读 · 0 评论 -
3-1 TeX中的引号(TexQuotes, UVa 272)
3-1 TeX中的引号(TexQuotes, UVa 272)在TeX中,左双引号是“``”,右双引号是“''”。输入一篇包含双引号的文章,你的任务是把它转换成TeX的格式。样例输入:"To be or not to be," quoth the Bard, "thatis the question".样例输出:``To be or not to be,'' quoth the Bard, ``t...原创 2018-02-22 08:22:36 · 230 阅读 · 0 评论 -
PAT1003. 我要通过!(C/C++语言实现,多种解法)
1003. 我要通过!(20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它...原创 2018-01-21 13:56:02 · 1024 阅读 · 2 评论 -
patb1002. 写出这个数 2种解法+函数调用
1002. 写出这个数 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1空格,但一行中最后一个拼音数字后没有...原创 2018-01-08 20:40:03 · 230 阅读 · 0 评论 -
1006. 换个格式输出整数 (15)
/*1006. 换个格式输出整数 (15)让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式...原创 2018-02-11 13:30:21 · 196 阅读 · 0 评论 -
例题3-6 环状序列(CircularSequence, ACM/ICPC Seoul 2004, UVa1584)
/*例题3-6 环状序列(CircularSequence, ACM/ICPC Seoul 2004, UVa1584)长度为n的环状串有n...原创 2018-02-25 10:56:10 · 429 阅读 · 0 评论 -
1008:Elevator (电梯)问题
Elevator (1008. Elevator (20) | ProgrammingAbility Test https://www.patest.cn/contests/pat-a-practise/1008)The highest building in our city has onlyone elevator(电梯). A request list is made up with N p...原创 2018-01-14 16:26:30 · 568 阅读 · 0 评论 -
所任课程班级主页
1. 2015级信管班Linux课程主页2. 2016级计专班编程课程主页3. 2017级编程课程主页4. 2015级移动本面向对象课程主页5. 2016级通信班Linux课程主页6. 2016级移动本Linux课程主页7. 2016级物联网班Linux课程主页...原创 2018-03-26 09:01:45 · 516 阅读 · 0 评论 -
判断scanf输入是否成功
#include<cstdio>int main() { int a, b; while(scanf("%d%d", &a, &b) == 2) printf("%d\n", a+b); //scanf输入是否成功。看scanf的返回值是参数被成功赋值的个数, //也就是如果只有a赋值成功,则返回1,a,b都赋值成功则返回2。如果失败返回0。 return ...原创 2018-03-31 11:04:53 · 5679 阅读 · 1 评论 -
C语言调用的常用数学函数
以下函数用法:#include <math.h>1. abs 原型:extern int abs(int x); 功能:求整数x的绝对值 说明:计算|x|, 当x不为负时返回x,否则返回-x2. fabs 原型:extern float fabs(float x); 功能:求浮点数x的绝对值 说明:计算|x|, 当x不为负时返回x,否则返回-x3. si...原创 2018-03-24 10:40:49 · 47170 阅读 · 1 评论 -
1047. 编程团体赛(C语言实现)
编程团体赛(1047. 编程团体赛(20) |Programming Ability Test https://www.patest.cn/contests/pat-b-practise/1047)时间限制400 ms内存限制65536 kB代码长度限制8000 B编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛...原创 2018-01-19 23:36:47 · 789 阅读 · 0 评论 -
1007.Maximum Subsequence Sum (25)最大的子序列和(另解)
最大的子序列和(1007.Maximum Subsequence Sum (25) | Programming Ability Test https://www.patest.cn/contests/pat-a-practise/1007)有一个包含K个整数{ N1, N2,..., NK }的序列。一个连续的子序列被定义为 { Ni, Ni+1, ..., Nj }(1<= i <=...原创 2018-01-19 22:02:17 · 249 阅读 · 0 评论 -
最大子列和问题(C语言实现)
最大子列和问题(PTA | 程序设计类实验辅助教学平台 https://pintia.cn/problem-sets/15/problems/709)给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序...原创 2018-01-19 21:54:25 · 835 阅读 · 0 评论 -
1002. A+B for Polynomials(25)C语言实现:多项式A与B的和
多项式A与B的和这次,假设A和B是两个多项式,求A与B的和多项式。 输入每个输入文件包含一个测试实例。每个实例有两行,每行包含一个多项式的信息: K N1 aN1 N2 aN2 ... NK aNK,其中K为多项式中非0项的个数,Ni 和 aNi (i=1, 2, ..., K) 分别为指数和系数。数的范围是1 <= K <= 10,0<= NK < ... < N2...原创 2018-01-14 16:07:50 · 1236 阅读 · 0 评论 -
pat1001.卡拉兹(Callatz)猜想(扩展):
对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明...原创 2018-01-08 20:01:48 · 452 阅读 · 0 评论 -
判断上三角矩阵(C语言实现及优化思考)
/*8. 判断上三角矩阵(PTA | 程序设计类实验辅助教学平台 https://pintia.cn/problem-sets/12/problems/326 C语言实训题)任务描述上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。输入格式:输入第一行给出一个正整数TT,为待测矩阵的个数。接下来给出TT个矩阵的信息:每个矩阵信息的第一行给原创 2018-01-20 23:38:24 · 10823 阅读 · 1 评论 -
C语言实现:高速公路超速处罚
高速公路超速处罚(PTA | 程序设计类实验辅助教学平台 https://pintia.cn/problem-sets/12/problems/278,C语言实训题)任务描述按照规定,在高速公路上行使的机动车,超出本车道限速的10%则处200元罚款;若超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式:输入在一行中给出2个正整数,分别对应车速和原创 2018-01-20 22:13:19 · 13193 阅读 · 10 评论 -
C语言实现:约瑟夫问题(数组和单链表2种方法)
约瑟夫问题一个旅行社要从n个旅客中选出一名旅客,为他提供免费的环球旅行服务。旅行社安排这些旅客围成一个圆圈,从帽子中取出一张纸条,用上面写的正整数m(报到m时停止报数,报m的人被淘汰出列,然后从他顺时针方向上的下一个人开始重新报数,如此下去,直到圆圈中只剩下一个人,这个最后的幸存者就是游戏的胜利者,将得到免费旅行的奖励。输入说明,输入的第一行表示总的旅客数,输入的第二行表示原创 2017-12-23 21:20:35 · 8279 阅读 · 0 评论 -
实践题目——数值型数据的存储原理
【程序阅读题】 1. 运行下面的程序,解释产生结果的过程(或原因)#include <stdio.h>int main(){ short int a, b; a= 32767; printf("a=%d\n",a); b = a + 10; printf("b=%d\n",b); return 0;}运行下面的程序,解释产生结果的过程(或原因原创 2017-10-16 08:52:27 · 252 阅读 · 0 评论 -
switch语句实现成绩转换
#include<stdio.h>/*练习3-7 成绩转换本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:?大于等于90分为A;?小于90且大于等于80为B;?小于80且大于等于70为C;?小于70且大于等于60为D;?小于60为E。输入格式:输入在一行中给出一个整数的百分制成绩。输出格式:在一行中输出对应的五分制成绩。输入样例:90输出样例:A*/in原创 2017-10-24 11:49:18 · 7186 阅读 · 0 评论 -
2017级编程课程主页
新学期,我们一起起程! 针对2017级新生的程序设计教学,重点之一是打好基础、加强课堂教学,让课堂成为掌握编程语言的催化剂,以课堂活动为核心,让学习更有效。这重中之重,便是小组合作,学习小组不仅在课堂起作用,而且要延伸到整个学习过程。 重点之二,是减轻学习负担。仗着程序设计课是计算机科学与技术专业最重要的专业基础课,做点努力,请高年级志愿者每周辅导2~3次,让同学们少花原创 2017-10-10 10:27:23 · 678 阅读 · 1 评论 -
求1*2*3*...*n的值并把各项相加
/*求1*2*3*...*n的值并把各项相加*/#include<stdio.h>int main(){ int n,i,cj,sum; printf("Input n:"); while(scanf("%d",&n)!=EOF) { cj=1; sum=0; for(i=1;i<=n;i++) {原创 2017-10-30 21:10:16 · 895 阅读 · 0 评论 -
输出菱形图案(简单)
/*7-3 输出菱形图案(5 分)本题要求编写程序,输出指定的由“A”组成的菱形图案。输入格式:本题无输入输出格式:按照下列格式输出由“A”组成的菱形图案。 AA A A */#include <stdio.h>int main(){ printf(" A\n"); printf("A A\n"); printf(" A\n"); retu原创 2017-11-07 11:19:26 · 8351 阅读 · 0 评论 -
这是我的第一个程序
//这是我的第一个程序#include "stdafx.h"#include <stdio.h>int main(int argc, char* argv[]){ printf("Hello World!\n"); return 0;}知识点: 1. 2. 输出结果: 心得体会: 1. 2. ...原创 2017-10-10 10:21:51 · 310 阅读 · 0 评论 -
大写字母转化为小写字母
#include<stdio.h>int main()//大写字母转化为小写字母{ char ch; printf("请输入要转化的大写字母:"); ch=getchar(); ch=ch+32; printf("转化的小写字母为:"); putchar(ch); return 0;}运行结果如下: 知识点: 1.学会试用putchar(原创 2017-10-18 10:43:32 · 442 阅读 · 0 评论 -
Linux操作系统教学进度计划表
贵州工程应用技术学院 课程教学进度计划表 (2017至2018学年度第1学期)学院名称: 信息工程学院 教研室(课程组): 信息系 主讲教师: 黄正鹏 填表日期:2016年9月1日教务处 制 《课程教学进度计划表》填写说明贵州工程应用技术学院课程教学进度计划表 2017—2018学年度第1学期 主原创 2017-09-21 15:17:57 · 683 阅读 · 0 评论 -
实践题目——指针及其运算
【程序阅读题】写出以下程序运行的结果,上机对照结果后,解释其过程。(注意用手画内存变化过程,而不要仅凭大脑思考。)#include <stdio.h>int main(){ int *p1,*p2,*p; int a=5,b=8; p1=&a; p2=&b; if(a<b) { p=p1; p1=p2;原创 2017-10-16 09:12:18 · 245 阅读 · 0 评论 -
文章标题
新学期,让我们一起起程! 针对2015级的程序设计教学之后,对于Linux操作系统重点之一就是完善课堂方案,让课堂成为再次掌握系统原理的催化剂,以课堂活动为核心,让学习更有效。这重中之重,便是小组合作,学习小组不仅在课堂起作用,而且要延伸到整个学习过程。 重点之二,是减轻学习负担。仗着Linux操作系统课是计算机相关专业最重要的专业基础课,想做点努力,让同学们少花些时间,提高核心能原创 2017-10-17 10:46:39 · 173 阅读 · 0 评论 -
单链表实现:一元多项式的乘法与加法运算
一元多项式的乘法与加法运算 (PTA | 程序设计类实验辅助教学平台 https://pintia.cn/problem-sets/15/problems/710)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。原创 2018-01-19 23:51:22 · 3687 阅读 · 0 评论 -
最大子列和问题(简单)
给定K个整数组成的序列{ N1, N2, ..., NK},“连续子列”被定义为{Ni,Ni+1,...,Nj},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法原创 2018-01-16 22:45:25 · 405 阅读 · 0 评论 -
1005. 继续(3n+1)猜想 (25)
/*1005. 继续(3n+1)猜想 (25)卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的...原创 2018-01-22 23:18:08 · 315 阅读 · 1 评论 -
C语言框架测试函数的快慢
下面分享一下比较测试函数时间快慢的C语言框架: #include #include clock_t start,stop;// clock_t是clock()函数返回的变量类型 double duration;//记录被测函数运行时间,以秒为单位 int main() { //不在测试范围内的准备工作写在clock()调用之前 start=clock();原创 2018-01-16 12:00:45 · 275 阅读 · 0 评论 -
C语言实现:最大的子序列和
最大的子序列和(1007.Maximum Subsequence Sum (25) | Programming Ability Test https://www.patest.cn/contests/pat-a-practise/1007)有一个包含K个整数{ N1, N2,..., NK }的序列。一个连续的子序列被定义为 { Ni, Ni+1, ..., Nj }(1现在你需要找出最原创 2018-01-14 16:31:01 · 2601 阅读 · 1 评论 -
1004. 成绩排名
/*1004. 成绩排名 (20)读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数...原创 2018-01-22 09:52:13 · 215 阅读 · 0 评论 -
数的价值
运行结果:知识点:1....2...心得体会:1....2....原创 2017-10-30 21:15:44 · 505 阅读 · 0 评论 -
n个数的排序
/*n个数的排序Time Limit: 1000MS Memory Limit: 65536KB Problem DescriptionLeiQ当上了体育委员,现在老师让他去给班级里的人排队,LeiQ刚学了排序,所以他想以这种方式给班级里的人排队(从矮到高),他想知道排序完成后的结果。Input 多组输入,每组的第一行是一个正数n(1<=n<=100),第二行是n个数,表示每一个人的高度。O原创 2017-11-29 22:21:32 · 1163 阅读 · 0 评论