C语言
『魔法猫咪』
魔法猫咪冲鸭~
展开
-
C语言:队列
队列顺序队列结构体中成员:1.data给出队列存储空间的起始地址2.front为队头指针,它指向队头元素3.rear为队尾指针,它指向下一个入队元素的存储位置4.max指明队列存储空间中最多可存储的数据元素个数。(通常为了区分队列空和满,会在队列尾留一个空数据单元,此时队列最多可放max-1个数据元素)特别说明:空间的开始地址为data,连续空间里的位置编号从data所指的开始位置起,到该空间的结束位置,编号依次是0,1,2,…,max-1。在图1的示例中max=6。下一个出队元素(这里是队原创 2021-05-11 15:27:37 · 894 阅读 · 0 评论 -
C语言:贪心算法——事件安排
事件安排任务描述本关任务:小张最近很忙,记事本里有n件事情等待处理,每件事处理完毕后,能得到不同的奖励,而且都有一个截止日。一件事处理需要一整天时间,并且小张不能同时干其他事情。请你替小张安排一个事情处理的时间表,争取获得最大的奖励。相关知识为了完成本关任务,你需要掌握:贪心算法。编程要求根据提示,在右侧编辑器编写代码。测试说明平台会对你编写的代码进行测试:测试输入:第一行输入整数n,表示n个事情。随后输入n行,每行包括一个事情的截止日(不大于n)和处理收益。测试输出:输出最大的总收益原创 2021-10-30 19:16:55 · 858 阅读 · 0 评论 -
C语言:顺序表
线性表一.线性表顺序储存结构的表示typedef MAXSIZE 100typedef int ElemTypetypedef struct{ ElemType elem[MAXSIZE]; int last;}Seqlist;原创 2021-03-21 20:45:05 · 188 阅读 · 0 评论 -
C语言:Educoder——递归法将一个整数n转换成字符串
递归法将一个整数n转换成字符串任务描述用递归法将一个整数n转换成字符串,然后输出,输出时要求各个字符之间用空格隔开。例如,输入483,应输出字符串“4 8 3”。n的位数不确定,可以是任意位数的整数。解题提示1)如果是负数,要把它转换为正数,同时人为地输出一个“-”号。2)可以用putchar(n%10+‘0’)或putchar(n%10+48)来输出一个字符。3)可以用putchar(32)来输出一个空格。AC代码#include<stdio.h>void figureTra原创 2021-02-10 11:54:38 · 7317 阅读 · 3 评论 -
C语言:用指针比较三个数大小
用指针法将三个数从大到小排列#include<stdio.h>int main(){ int *p; int a, b, c, t; scanf("%d%d%d", &a, &b, &c); if(a < b) { p = &a; t = *p; a = b; b = t; } if(a < c) { p = &a; t = *p; a原创 2021-02-02 23:04:16 · 5996 阅读 · 2 评论 -
C语言:Educoder——字符串大小比较
字符串大小比较任务描述编写一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数,若s1=s2,输出0,若s1<s2,则输出一个负数。要求不能用strcmp函数。输出的正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。例如,“A”与“C”相比,由于“A”<“C”,应输出负数,同时由于‘A’与‘C’的ASCII码差值为2,因此应输出“-2”。同理,“And”和“Aid”比较,根据第2个字符比较结果,‘n’比‘i’大5,因此应输出“5”。( 由于gets函数原创 2021-02-02 21:46:50 · 910 阅读 · 0 评论 -
C语言:杨辉三角形
杨辉三角形输入一个小于20的整数n,要求输出n行的杨辉三角形。格式如下:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1……注意:每行最后一个数字后不能有空格#include<stdio.h>#define N 100int a[N][N];int main(){ int i, j, n; scanf("%d", &n); fo原创 2021-02-02 21:01:15 · 4422 阅读 · 0 评论 -
C语言:选择排序
选择排序从小到大对10个数进行选择排序#include<stdio.h>#define N 10int main(){ int i, j, t, a[100]; for(i = 0;i < N;i++) scanf("%d", &a[i]); for(i = 0;i < N-1;i++)// for(j = i+1;j < N;j++)// if(a[j] < a[i]) { t = a[i]; a[i] =原创 2021-02-02 20:22:34 · 75 阅读 · 0 评论 -
C语言:打印实心菱形
打印实心菱形任务描述输入n,输出以下图案:上述例图输入的n为4.要求:采用for循环实现AC代码#include <stdio.h>int main(){ int i, j, k, n; scanf("%d", &n); //输出上半菱形 for(i = 1;i <= n;i++) { for(k = 1;k <= n-i;k++) printf(" "); for(j = 1;j < 2*i;j原创 2021-02-02 19:03:00 · 2585 阅读 · 1 评论 -
C语言:字符逆序
任务描述题目描述:输入一个字符串,输出反序后的字符串。相关知识(略)编程要求请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。输入一行字符输出逆序后的字符串测试说明样例输入:123456abcdef样例输出:fedcba6543211.gets()函数#include<stdio.h>...原创 2020-12-24 10:30:41 · 14970 阅读 · 2 评论 -
C语言:字符统计
字符统计题目描述:对于给定的一个字符串,统计其中数字字符出现的次数。####相关知识(略)####编程要求请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。输入输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。输出对于每个测试实例,输出该串中数值的个数,每个输出占一行。、测试说明样例输入:2asdfasdf123123asdfasdfasdf111111111asdfasdfasdf样例输出:6原创 2020-12-23 18:27:04 · 9698 阅读 · 12 评论 -
C语言:奇位取数
功能:从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。例如:当s中的数为:7654321时,t中的数为:7531。#include <stdio.h>long fun (long s,long t){ /**********Program**********/ /********** End **********/ return t;} main() { long s, t=0,m; printf("\nPlease enter原创 2020-12-22 20:04:51 · 3691 阅读 · 3 评论 -
C语言:回文数计算
回文数计算本关任务:编写函数求区间[200,3000]中所有的回文数,回文数是正读和反读都是一样的数。如525, 1551输入无需输入输出输出区间[200,3000]中所有的回文数,一行一个回文数,不需要输出其它无关的字符。202212222232242…分析:回文数就是顺着读反着读都一样,其实不就是把这个数逆序输出一遍和自己比较#include<stdio.h>int solve(int n){ /*********Begin*********/原创 2020-12-19 20:49:14 · 23061 阅读 · 9 评论 -
C语言:求最大公约数(GCD)与最小公倍数(LCM)
最大公约数和最小公倍数GCD:最大公约数LCM:最小公倍数定理:两个数的乘积等于这两个数的最大公约数和最小公倍数乘积1.GCD(辗转相除法)#define ll long longll GCD(ll a, ll b){ if(a % b == 0) return b; else return GCD(b, a % b);}辗转相除法:a, b大小无所谓除过几轮后必会变成a大b小,a%b把整除就是b,没整除就把小数给a,余数(必然比除数b小)给b,一直保持a比b大2.LCM#defi原创 2020-12-19 20:21:35 · 1705 阅读 · 1 评论 -
C/C指针/C链表:约瑟夫环
约瑟夫环问题:将n个人按自然数编号后围成一圈开始报数,每报到m的人自杀,求最后幸存者编号方法一 数学递推#include<stdio.h>int main(){ int n, m, p = 0; scanf("%d", &n); for(int i = 2;i <= n;i++) p = (p + m) % i; printf("%d", p + 1); return 0;}递推公式:f ( N , M ) = ( f ( N − 1 , M ) +原创 2020-12-19 12:24:16 · 494 阅读 · 2 评论 -
C语言:Educoder结构体储存学生信息
任务描述本关任务:使用结构体储存学生信息(包括学号,姓名,3门课程成绩,总分),要求实现对学生信息修改和删除操作,最多50名学生。相关知识参考结构体第1关相关知识编程要求在右侧编辑器Begin-End处补充代码,使用结构体储存学生信息,实现对学生信息修改和删除操作。测试说明平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:测试输入:10 31 Siyu 90 90 902 Amy 60 70 943 Jack 60 60 984原创 2020-12-13 21:16:37 · 11258 阅读 · 7 评论 -
C语言:构造Strcat函数
题目:编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如:分别输入下面两个字符串:FirstString--SecondString程序输出:FirstString--SecondString编译环境:VS2010#include <stdio.h>#include<stdlib.h> void fun(char p1[], char p2[]){/**********Program*原创 2020-12-05 09:57:45 · 576 阅读 · 1 评论 -
C语言:结构体数组与链表区别
题目:学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。编译环境:VS2010#include<stdio.h>#define N 16typedef struct{ char num[10]; int s;}STREC;int fun(STREC *a, STREC *b){ /******begin******//原创 2020-12-04 17:49:17 · 1262 阅读 · 0 评论 -
C语言:void不能返回值,指针来返回
题目:请编写函数void fun (int x, int pp[], int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。例如:若x中的值为30,则有4个数符合要求,它们是1、3、5、15。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。编译环境:VS2010 #include<stdio.h> #include<conio.h> #in原创 2020-11-29 16:37:27 · 1015 阅读 · 1 评论 -
C语言:单链表
一.结构体的不同写法1.结构体的定义struct 结构体类型名 结构体变量列表;结构体四种写法1. struct stu{ ......};//保留结构体类型名2. struct { .....}stu[10];//省略结构体类型名3. typedef struct stu{ .......}STU; stu s[10]; STU s[10];//即使重命名后也可以用原来的名字定义4. typedef struct { .原创 2020-11-24 20:25:14 · 827 阅读 · 2 评论 -
C语言:链表作业-教职工系统
编写教职工系统编写程序,在主函数中调用create函数创建链表,调用findmax函数找到年龄最大的职工,del函数删除一个职工(要删除的职工编号在主函数中输入,并存放在number字符数组中)。员工结构体的定义如下:typedef struct wrk_node{ char num[15];int age; struct wrk_node * next;}WORKER;//建立链表函数,返回头指针,当职工号为0时结束输入WORKER * create( )原创 2020-11-27 22:47:36 · 2811 阅读 · 0 评论 -
C指针:Educoder指针进阶-用指针实现数组循环移动
用指针实现数组循环移动任务描述题目描述:有n个整数,要求你编写一个函数使其向右循环移动m个位置####相关知识(略)####编程要求请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。输入输入n m表示有n个整数,移动m位输出输出移动后的数组####测试说明样例输入:10 51 2 3 4 5 6 7 8 9 0样例输出:6 7 8 9 0 1 2 3 4 5#include<stdio.h>int *solve(int *s, int n原创 2020-11-26 22:35:05 · 9392 阅读 · 3 评论