C语言学习
文章平均质量分 61
奋斗的龙猫
努力让自己变强,未来才有更多选择,才有足够资本守护身边人。
展开
-
PTA1010 一元多项式求导
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0题目链接:https://pintia.cn/proble原创 2021-04-26 23:44:57 · 486 阅读 · 1 评论 -
队列的应用--银行客户的平均排队问题
某银行有一个客户办理业务站,在一天内随机地有客户到达,设每位客户的业务办理时间是某个范围内的值。设只有一个窗口,一位业务人员,要求程序模拟统计在一天时间内,所有客户的平均等待时间。模拟数据按客户到达的先后顺序依次由键盘输入,对应每位客户有两个数据,到达时刻和需要办理业务的时间。输入格式第一行:一天内的客户总人数n第二行:第一个客户的到达时刻和需要办理业务的时间第三行:第二个客户的到达时刻和需要办理业务的时间……第n行:第n - 1个客户的到达时刻和需要办理业务的时间第n + 1行:第n 个客原创 2021-04-16 21:32:26 · 2707 阅读 · 0 评论 -
打印数字三角及蛇形矩阵(C语言)
题目描述:从键盘输入N,输出如下图所示的N行的数字三角.例如: N = 5,那么输出如下:输入格式:输入一个整数N,1<= N <= 45输出格式:输出如题所示的数字三角形,为了输出美观,每个数字栈5个字符位,右对齐(即%5d)解题的思路:1、定义一个45行45列的二维数组arr[N][N],用于存放对应的值2、定义两个数组,表示它在x方向、y方向上的移动方向,并分别对这两个数组进行初始化。move_x[3] = {1,0,-1},move_y[3] = {0,1,-1},之原创 2021-04-09 12:55:02 · 3446 阅读 · 2 评论 -
数字分类
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1 = 能被 5 整除的数字中所有偶数的和;A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2 +n3−n4 ⋯;A3 = 被 5 除后余 2 的数字的个数;A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 10原创 2021-04-08 12:49:26 · 335 阅读 · 0 评论 -
C语言中缀表达式转成后缀表达式,并计算它的值
在C语言中,将中缀表达式转成后缀表达式,并计算它的结果,具体的思路如下:1、定义两个栈,numStack用于存放运算对象,最后存放运算结果的,fuStack用于存放运算符号的2、从左到右遍历字符串3、如果当前的字符是一个数字,那么先不要着急将其转成数字,然后压入到numStack中,因为考虑到多位数字的情况,所以需要从当前下标开始遍历,一直遍历到第一个运算符出现,那么这时候才可以将运算符前面的数字转成字符串。然后调用atoi,将字符串转成一个数字。这时候,将这个数字输出,同时将其压入到numStack原创 2021-04-07 12:24:01 · 6382 阅读 · 11 评论 -
出栈序列(C语言)
题目描述:现在有一个1-n的排列,入栈序列已知,请给出字典序最大的出栈序列。输入格式第一行一个整数n。(1<=n<=100)第二行n个整数,数据确保为1-n的排列。输出格式输出n个整数,既字典序最大的出栈序列。输入样例51 2 4 5 3输出样例5 4 3 2 1解题思路:1、获取当前数组的最大值,并且需要知道它的下标。所以定义了两个方法,getMax来获取数组的最大值maxNum,getMaxIndex获取最大值的下标max_index。2、将最大值以及它前面的数字原创 2021-04-05 11:14:26 · 2646 阅读 · 0 评论 -
出栈序列合法性判定(C语言)
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)输入格式第一行一个整数n,表示输入序列的长度。(1<=n<=10000)第二行n个整数,表示栈的压入顺序。第三行n个整数,表示栈的出栈顺序。输出格式如果是弹出序列,输出yes,否则输出原创 2021-04-04 20:54:48 · 3744 阅读 · 5 评论 -
C语言顺序线性表的操作
#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100 //初始定义顺序线性表的最大容量#define LIST_INCREMENT 10 //定义如果顺序线性表的长度大于最大容量时,每一次插入添加的长度#define ElementType int //定义顺序表元素的类型为inttypedef s原创 2021-03-16 10:17:38 · 191 阅读 · 0 评论 -
字符串的输入输出处理(C语言蓝桥杯)
第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。输出先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。样例输入2www.dotcpp.com DOTCPPA C MD O T CPP样例输出www.dotcpp.com DOTCPPA C MDOTCPP题目来源:https://www.dotcpp.com/oj/pr原创 2021-03-04 22:33:49 · 2601 阅读 · 5 评论 -
输出不同的数
输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次。输入格式输入10个整数输出格式依次输出不同的数字(一行一个,从上到下依次输出先出现的数)输入样例1 2 1 3 3 2 4 5 5 9输出样例123459注意题目的要求,除了要求是只输出重复数字中的一个之外,观察输出样例,我们可以发现他是根据先后的顺序,将不同的数字输出的。所以,应该是判断当前下标的前面是否含有这这个下标对应的值,如果含有,就不输出,否则输出这个下标的值。#include<stdio.原创 2021-03-02 16:37:35 · 2558 阅读 · 2 评论 -
链表删除所有的x元素
试图编写一个链表,实现插入后,试着编写一下删除操作。(这种使用数组的方式可能会浪费内存,但是请暂时忽略这点)作为练习的判断,请输出删除链表内所有元素x后的序列。数组保证删除后仍不为空。题目来源: https://www.dotcpp.com/oj/problem2024.html输入第一行包括一个数字n(n<100000),表示链表内元素的个数。接下来一行,共n个整数,表示链表内的数据接下来一个数字x,表示要删除的元素。输出一行,表示删除后的序列。样例输入82 3 4 4 4 5原创 2021-02-24 13:37:31 · 1921 阅读 · 6 评论 -
猴子吃桃(C语言)
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。题目来源:https://www.dotcpp.com/oj/problem1020.html输入N输出桃子总数样例输入10样例输出1534根据题意,我们可以根据下图进行分析:从而可以这个题就相当给出了一个数列的第一项,并且在知道对应的关系之后,求出第n原创 2021-02-23 21:06:06 · 3967 阅读 · 7 评论 -
高精度的加法(C语言)
由键盘输入两个位数很长的整数(一行一个,最多不超过80位),试计算并输出这两个数的和。输入样例1234567890123456789353534532453453453434534987654321098765324534534534534532输出样例1234567891111111110452299856987987987969066解题思路:由于一个普通的变量不能保存十多位长的整数,所以通过数组表示最后的运算结果,并且每一个下标对应运算结果的一位数。1、定义两个字符数组,分别表示要进行原创 2021-02-20 19:56:04 · 2199 阅读 · 0 评论 -
C语言实现链表的逆序的几种方式
实现链表的逆序主要的思路有如下:1、通过头插法来实现的。通过遍历原来的链表,将遍历得到的每一个节点都插入到新链表的头结点,然后遍历新链表,得到的就是链表的逆序了。实现链表逆序的代码:过程分析:看到上面的过程,有些伙伴可能会疑问,为什么每一次遍历的时候,都需要给Node重新分配空间呢?再进行循环之前,给Node分配一次空间不就好了?一开始我也是这样想的,但是运行的结果却是只有一个值,并且陷入了死循环.请看下面的过程分析://将节点插入到头结点,从而实现逆序Node * insertTop(原创 2021-02-16 07:47:44 · 10537 阅读 · 0 评论