
C Programming
文章平均质量分 73
ACM和C语言的代码,个别代码为C++
程序员班长
武汉计算机硕士在读,热爱计算机也不想秃头
展开
-
记录一段帮朋友写的代码,使用牛顿-拉夫逊方法解方程
C语言使用牛顿-拉夫逊法来求方程的解,牛顿-拉夫逊方法的基本思想是:从一个初始猜测值开始,使用函数的导数(或切线的斜率)来更新猜测值,逐步逼近函数的真实零点。原创 2023-10-30 16:25:17 · 270 阅读 · 0 评论 -
大一写的C课程设计(图书馆管理系统)
一、功能简要介绍支持对文件中图书信息的添加修改和删除;支持对图书进行购买; 支持统计图书信息(统计结果从大到小排列);提示:输入价格时,若输入的是字母而不是数字,则会给出提示并让您重新输入价格。二、效果图三、代码注意:须将测试文件“text.txt"与cpp文件放在同一目录下;文件内的内容格式不要随意修改。#include <iostream>#include <algorithm>#include <cstring>#include <原创 2021-12-11 21:12:39 · 2159 阅读 · 0 评论 -
51nod1008 N的阶乘 mod P(水题)
题目简单来说就是: 输入两个数N和P (N < 10000, P < 10^9),求N! Mod P =?一道水题两次都WA了,仔细检查后发现是for循环体出点问题,需要 s 先乘 i 后在对 p 取余,而不是 i 先对 p 取余后再乘 s ,后者结果是错误的。比如2×(3%2)=2,而(2×3)%2=0.代码:#include <iostream>#inc...原创 2018-08-04 11:32:09 · 272 阅读 · 0 评论 -
审美课
题目问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师^_^)。 答案完全相反是指对每一幅画的判断都相反。输入格式...原创 2019-03-22 09:45:00 · 143 阅读 · 0 评论 -
十六进制转八进制
题目问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 ...原创 2019-03-08 21:30:41 · 237 阅读 · 0 评论 -
十六进制转十进制
题目问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535注意最后结果用long long保存,因为FFFFFFFF=1111 1111 1111 1111 1111 1111 1111 1111代码#i...原创 2019-03-08 16:57:13 · 1840 阅读 · 0 评论 -
十进制转十六进制
题目问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式...原创 2019-03-08 16:23:45 · 776 阅读 · 0 评论 -
基础练习 字母图形
问题问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样...原创 2019-03-04 18:09:20 · 196 阅读 · 0 评论 -
51nod 1049 最大子段和
题目: N个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。 Input第1行:整数序列的长度N(2 <= N <= 50000) 第2 - N + 1行:N个整数(-10^9 &...原创 2018-08-04 17:07:16 · 118 阅读 · 0 评论 -
“高级”数据结构——树状数组
数据结构是每一个程序员都必须要学的,非常重要! 大佬的博客写的真好,虽然我看不懂。。。。。 链接http://www.cnblogs.com/RabbitHu/p/BIT.html转载 2018-08-22 18:06:17 · 379 阅读 · 0 评论 -
HPU暑期第五次积分赛 F - 辞树的质因数分解
题目 代码#include &lt;iostream&gt;#include &lt;cstring&gt;using namespace std;const int maxn=1e6 + 100;int ans[maxn],a[maxn];int main(){ int t,n,i,j; cin&gt;&gt;t; while(t--) ...原创 2018-08-22 17:47:56 · 271 阅读 · 0 评论 -
HPU暑期第五次积分赛 - G-迷宫(BFS+最短路径)
题目 代码#include <iostream>#include <cstdio>#include <queue>#include <cstring>using namespace std;int mp[110][110];//做标记int dir[2][4]={{1,-1,0,0},{0,0,1,-1}};// 移动in...原创 2018-08-21 18:15:04 · 246 阅读 · 0 评论 -
POJ 2485 - Highways(求最小生成树的最大权值-Kruskal算法)
题目Language:DefaultHighwaysTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 36406Accepted: 16287DescriptionThe island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no pu...原创 2018-08-17 18:06:57 · 648 阅读 · 0 评论 -
HDU 1232 -畅通工程(并查集)
题目http://acm.hdu.edu.cn/showproblem.php?pid=1232代码#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int MAXN=1e3 + 100;int pre[MAXN],a[M...原创 2018-08-15 21:00:15 · 224 阅读 · 0 评论 -
POJ 1611 -The Suspects (并查集)
题目 Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission...原创 2018-08-15 17:39:32 · 167 阅读 · 0 评论 -
方框(HPU暑期第四次积分赛)
题目描述 用’*’打印出一个nxn的字符图形(1<=n<=100). 输入 多组输入。每行输入一个n,输入EOF结束文件. 输出 输出一个满足题意的图形. 输入样例 1 12561011 输出样例 1 *********** ** * ** ************* ** ** ** ** **...原创 2018-08-14 21:34:16 · 253 阅读 · 0 评论 -
B - Bone Collector (01背包)
题目: 涂奥最近迷上了吃鸡,房间有n个配件,每个配件有c(c&lt;=1e3)的重量和v(v&lt;=1e3)的价值,哇,涂奥捡了一个2级包,容量为s,所以涂奥最多当多肥的快递员呢? Input 输入的第一行是T, 表示有一共要打T场比赛. 每组数据由三行组成. 第1行包含两个整数n和s 第2行包含n个整数, 表示每一个配件的价值. 第3行包含n个整数, 表示每个配件的重量. Outp...原创 2018-08-09 20:44:10 · 255 阅读 · 0 评论 -
HDU 1009 - FatMouse' Trade (部分背包问题)
题目: 肥鼠准备了 M 磅的猫粮,准备和看管仓库的猫交易,仓库里装有他最喜爱的食物 Java 豆。仓库有 N 个房间。第 i 间房包含了 J[i] 磅的 Java 豆,需要 F[i] 磅的猫粮。肥鼠不必为了房间中的所有 Java 豆而交易,相反,他可以支付 F[i] * a% 磅的猫粮去交换得到 J[i] * a% 磅的 Java 豆。这里,a 表示一个实数。现在他将这项任务分配给了你:...原创 2018-08-09 19:12:26 · 259 阅读 · 0 评论 -
二叉树的深搜(DFS)与广搜(BFS)
转载自: https://blog.youkuaiyun.com/u011613367/article/details/50950408 数据结构中的有两个比较重要的算法。深度优先搜索和广度优先搜索。 二叉树中的深度搜索就是对一个分支进行遍历,而广搜就是一层一层的搜索。 下面通过代码进行讲解:#include <iostream>#include <queue>u...转载 2018-08-01 16:53:33 · 481 阅读 · 0 评论 -
BFS写HDU1312 Red and Black
Red and BlackTime Limit: 2000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25678&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 15原创 2018-08-01 11:45:27 · 189 阅读 · 0 评论 -
HDU 1312-Red and Black (DFS)
Red and BlackTime Limit: 2000/1000 MS (Java/Others)&nbsp;&nbsp;&nbsp;&nbsp;Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25613&nbsp;&nbsp;&nbsp;&nbsp;Accepted Submission(s): 15原创 2018-08-01 10:45:01 · 241 阅读 · 1 评论 -
链式前向星
在了解什么是链式前向星之前,我们先来看一下什么是前向星。前向星其实就是一种边集数组。我们先把每条边的起点按照从小到大的顺序排序如果起点一样,那么就按照终点从小到达来排序。并记录下以某个点为起点的所有边在数组中的起始位置和边的数量,那么前向星就构造好了。 利用前向星,我们可以在O(1)的时间内找到以i为起点的第一条边以O(len[i])的时间找到以i为起点的所有边。前向星特别适合用来...原创 2018-07-31 11:40:49 · 166 阅读 · 0 评论 -
HDU 1873 看病要排队(结构体+优先队列)
题目:Problem Description看病要排队这个是地球人都知道的常识。不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的...原创 2018-07-28 11:27:23 · 517 阅读 · 0 评论 -
优先队列
一、默认优先级我们知道了队列是先进先出,那么优先队列则不一样了,进的顺序不能决定出的顺序,优先队列出的顺序是按照自己设置的优先等级来出队列的,如果自己不设置优先级的话,默认优先级为越大优先级越高。例如:#include <iostream>#include <queue>using namespace std;priority_queue<int&...原创 2018-07-28 11:19:08 · 1395 阅读 · 0 评论 -
栈和队列
栈:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。队列:队列(queue)的的性质刚好与栈相反,功能类似,...原创 2018-07-28 09:43:58 · 152 阅读 · 0 评论 -
Light OJ 1214 Large Division (大数取模)
题目:Given two integers, a and b, you should check whether a is divisible by b or not. We know that an integer a is divisible by an integer b if and only if there exists an integer c such that a = b *...原创 2018-07-25 19:52:21 · 511 阅读 · 0 评论 -
LightOJ 1078 Integer Divisibility (同余定理)
题目:If an integer is not divisible by 2 or 5, some multiple of that number in decimal notation is a sequence of only a digit. Now you are given the number and the only allowable digit, you should rep...原创 2018-07-25 19:44:37 · 235 阅读 · 0 评论 -
51nod 1513-3的幂的和(费马小定理+快速幂)
题目:求:3^0 + 3^1 +...+ 3^(N) mod 1000000007Input输入一个数N(0 <= N <= 10^9)Output输出:计算结果Sample Input3Sample Output40思路:根据等比数列的前N项和公式可得到原式等于((3的n次方+1)/2)%1e9+7,用快速幂求出3的n次方,再由费马小定理求出2的逆元(观察也可...原创 2018-07-25 19:37:36 · 377 阅读 · 0 评论 -
51nod 1256 乘法逆元(扩展欧几里得)
问题:给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。Input输入2个数M, N中间用空格分隔(1 <= M < N <= 10^9)Output输出一个数K,满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小...原创 2018-07-25 19:26:44 · 255 阅读 · 0 评论 -
HDU1576 A/B 费马小定理
A/BTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1369 Accepted Submission(s): 1045 Problem Description要求(A/B)%9973,但由于A很大,我们只给出n(n=...原创 2018-07-25 19:12:15 · 398 阅读 · 0 评论 -
简单的石头剪刀布(机器胜率略高)
#include <iostream>#include <cstdlib>#include <ctime>using namespace std;int main(){ srand(time(NULL)); int a,b,c; cout<<"人机剪刀石头布游戏现在开始:"<<endl; cout<<"1表石头,原创 2018-03-29 22:49:09 · 1469 阅读 · 0 评论 -
蛇形填数(C++)
#include <iostream>//蛇形填数 #include <iomanip>//控制输出长度,方便数据对齐 using namespace std;int main(){ int a[101][101]={0}; int i=1,k,j; int n; k=0;j=n-1; cin>>n; a[k][j]=1; while(i!=n*n) { ...原创 2018-03-29 22:47:44 · 1550 阅读 · 0 评论 -
C++学生信息管理系统V1(课后作业)
#include <iostream>#include <cstring>#include <bits/stdc++.h>//C++万能头文件 #include <algorithm>#include <cstdlib>using namespace std;int a,j;//j表学生数量,a计数void menu(){cout<...原创 2018-03-24 21:09:18 · 551 阅读 · 2 评论 -
HDU 1711 -Number Sequence(KMP)
题目Number SequenceTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 40385 Accepted Submission(s): 166...原创 2018-08-18 21:45:35 · 191 阅读 · 0 评论 -
HDU 2191 - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包)
题目急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的CK准备自己采购一些粮食支援灾区,现在假设CK一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。 请问:CK能用有限的资金最多能采购多少公斤粮食呢? Input 输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=10...原创 2018-08-09 21:05:36 · 233 阅读 · 0 评论 -
HDU 1285 - 确定比赛名次(拓扑排序)
确定比赛名次Time Limit: 2000/1000 MS (Java/Others)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 36030&amp;amp;nbsp;&amp;amp;nbsp;&amp;原创 2018-08-04 21:03:57 · 189 阅读 · 0 评论 -
HDU1862 EXCEL排序
Input测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N 行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应...原创 2018-04-27 09:45:08 · 239 阅读 · 0 评论 -
结构体+字符串比较大小(HDU1234开门人和关门人 )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1234Problem Description每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签 到、签离记录,请根据记录找出当天开门和关门的人。 Input测试输入的第一行给出记录的总天数N ( > 0 )。下面列出了N天的记录。 每天的记录在第一行给出记录的条目数M...原创 2018-04-19 22:19:35 · 757 阅读 · 0 评论 -
HDU2044一只小蜜蜂(递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044这种题个人觉得就是找规律,把数据多列出来几个,你会发现得到的数列跟Fibonacci数列十分相像。。。当然,做的题多了稍加推理就能得到这个规律。代码:#include <iostream>using namespace std;int main(){ int i; long ...原创 2018-04-12 11:27:36 · 237 阅读 · 0 评论 -
HDU2043密码
问题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2043代码:#include <iostream>#include <algorithm>#include <cstring>using namespace std;int main(){ int m,i,k; int a,b,c,d; char s[51]; cin...原创 2018-04-11 21:15:00 · 292 阅读 · 0 评论