c语言
LightningJie
计算机专业研究生,分享我的学习路线。学习沟通YKINGJie
展开
-
贪心算法(二)区间调度问题,电影节
区间重叠问题:问题描述:给定每部电影的放映时间区间,区间重叠的电影不可能同时看(端点可以重叠),问小杰最多可以看多少部电影。贪心解法:将所有的电影按结束时间从小到大排序,第一步选结束的时间最早的那部电影。然后,每步都选和上一步选中的电影不冲突且结束时间最早的电影。输入:先输入n(n<=100),表示n场电影,接下来n行,每行两个整数(均小于1000)表示一场电影的放映区间。输出:对每组数据输出最多能看几部电影。样例输入:121 33 40 73原创 2022-01-17 16:57:42 · 575 阅读 · 0 评论 -
贪心算法(一)假背包问题,圣诞老人的礼物
问题描述:糖果有自己的价值和重量,每箱糖果可以拆分成任意散装组合带走,圣诞老人的驯鹿雪橇最多装下重量为w的糖果,请问圣诞老人最多带走多大价值的的糖果。输入:第一行由两个部分组成,分别为糖果箱数n(1<=n<=100,驯鹿能承受的最大重量正整数w(0<w<10000),两个数用空格隔开。其余n行每行对应一箱糖果,由两部分组成,分别为一箱糖果的价值正整数v,和重量正整数w,中间用空格隔开。输出:输出圣诞诞老人能带走的最大总价值,保留一位小数。样例输入:4 15原创 2022-01-17 10:25:04 · 428 阅读 · 0 评论 -
单链表求交集
(1)笨蛋方法,二重循环,暴力输出。 傻子才用。(2)聪明点的方法 先两个集合排序(升序),然后求交集。这里默认是升序。看代码吧#include<stdio.h>#include<stdlib.h>struct Node{ int a; struct Node *next;};int main(){ Node *p,*q,*heada,*k,*headb,*headc,*m; int i=1; i...原创 2021-09-21 11:11:44 · 456 阅读 · 1 评论 -
c语言文件
#include<stdio.h>FILE *fp; ////////文件指针int main{ int a; scanf("%d",&a); fp=fopen("D:\\lessons.txt","a+"); ///文件以追加形式打开,文件指针在文章末尾 if(fp==NULL) printf("can not open the file"); fprintf(fp,"%d",a); fclos.原创 2021-06-30 22:53:37 · 89 阅读 · 4 评论 -
算法递归实现阶乘
很简单 直接上代码int Factorial(int n){ if (n==0) { return 1; } return n*Factorial(n-1);}原创 2021-06-29 20:21:38 · 110 阅读 · 0 评论 -
枚举:算法练习题目:特殊的密码锁
001:特殊密码锁描述有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态。然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转。当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮。当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态。输入两行,给出两个由0、1组成的等长字符串,表示当前/目标密码锁状态,其中0代表凹,1代表凸。输出至少需原创 2021-06-29 00:01:32 · 585 阅读 · 0 评论 -
算法入门:熄灯问题
#include<memory>#include<string>#include<cstring>#include<iostream>using namespace std;char oriLights[5];char lights[5];char result[5];int GetBit(char c,int i){ return (c>>i)&1;}void SetBit(char & c,int i,.原创 2021-06-27 23:02:14 · 338 阅读 · 0 评论 -
算法问题,称硬币,绝对正确,看过其他人的大多数的输出都是错的
#include<iostream>#include<stdio.h>using namespace std;char Left[3][7];char Right[3][7];char result[3][7];bool IsFake(char c,bool light);int main(){ int t;cin>>t;while(t--){ for(int i=0;i<3;i++) cin>>Left[i]>&g.原创 2021-06-23 09:45:11 · 92 阅读 · 0 评论 -
C语言实现贪吃蛇100行左右,代码简单易懂
废话不多说,直接上代码#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<windows.h>#define high 20#define width 30 int a[high][width]={0};int move;int food_x,food_y;void gotoxy(int x,int y){ HANDLE handle=GetStdHandle(ST原创 2021-01-18 12:03:48 · 1347 阅读 · 1 评论 -
细究C语言getchar和scanf的区别,重点getchar
getchar基本用法1.从计算机内部缓冲区读取一个数据,并将这个数据化为int作为返回值;2.可以读入空格 回车和制表。简单例子1题目;输入任意个数,求出他们的和,以输入回车作为结束;(不能使用数组)#include<stdio.h>int main(){ int n; int sum=0; char x; do{ scanf("%d",&n); sum+=n; }while(x=getchar()!='\n'); printf("原创 2021-01-17 00:28:28 · 1461 阅读 · 0 评论