
c语言
LightningJie
计算机专业研究生,分享我的嵌入式工程师学习路线。学习沟通YKINGJie
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在main.c文件不对全局变量进行访问,只调用访问全局变量的函数,需要extern声明吗?
全局变量默认具有外部链接,这意味着它们可以在不同的编译单元之间被访问,但前提是这些编译单元通过某种方式“知道”这些变量的存在。内部使用,并且你不希望它在其他文件中被访问,你可以在。关键字在这里不是必需的,但全局变量的正确声明和定义在。不需要知道这些细节,除非它直接访问这些全局变量。中定义的全局变量,那么从技术上讲,你不需要在。中的函数时,这些函数内部如何访问全局变量是。中是必需的,以确保函数能够正确地访问它们。中或使用它的头文件中对这些全局变量使用。或使用它的头文件中对这些全局变量使用。原创 2024-12-05 22:42:18 · 237 阅读 · 0 评论 -
贪心算法(二)区间调度问题,电影节
区间重叠问题:问题描述:给定每部电影的放映时间区间,区间重叠的电影不可能同时看(端点可以重叠),问小杰最多可以看多少部电影。贪心解法:将所有的电影按结束时间从小到大排序,第一步选结束的时间最早的那部电影。然后,每步都选和上一步选中的电影不冲突且结束时间最早的电影。输入:先输入n(n<=100),表示n场电影,接下来n行,每行两个整数(均小于1000)表示一场电影的放映区间。输出:对每组数据输出最多能看几部电影。样例输入:121 33 40 73原创 2022-01-17 16:57:42 · 653 阅读 · 0 评论 -
贪心算法(一)假背包问题,圣诞老人的礼物
问题描述:糖果有自己的价值和重量,每箱糖果可以拆分成任意散装组合带走,圣诞老人的驯鹿雪橇最多装下重量为w的糖果,请问圣诞老人最多带走多大价值的的糖果。输入:第一行由两个部分组成,分别为糖果箱数n(1<=n<=100,驯鹿能承受的最大重量正整数w(0<w<10000),两个数用空格隔开。其余n行每行对应一箱糖果,由两部分组成,分别为一箱糖果的价值正整数v,和重量正整数w,中间用空格隔开。输出:输出圣诞诞老人能带走的最大总价值,保留一位小数。样例输入:4 15原创 2022-01-17 10:25:04 · 510 阅读 · 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 · 516 阅读 · 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 · 133 阅读 · 4 评论 -
算法递归实现阶乘
很简单 直接上代码int Factorial(int n){ if (n==0) { return 1; } return n*Factorial(n-1);}原创 2021-06-29 20:21:38 · 151 阅读 · 0 评论 -
枚举:算法练习题目:特殊的密码锁
001:特殊密码锁描述有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态。然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转。当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮。当前密码锁状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将密码锁转变为所期望的目标状态。输入两行,给出两个由0、1组成的等长字符串,表示当前/目标密码锁状态,其中0代表凹,1代表凸。输出至少需原创 2021-06-29 00:01:32 · 650 阅读 · 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 · 398 阅读 · 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 · 125 阅读 · 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 · 1423 阅读 · 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 · 1524 阅读 · 0 评论