C语言练习 | 初学者经典练习汇总
目录
1、下面代码输出多少,为什么?
2、你要好好学习么?
3、一直写代码,
4、两个数求最大值
5、输入1-5输出工作日,输入6-7输出休息日,其他输入错误
6、写一个输入密码的代码
7、怎么样当输入数字时候打印,输入字母的时候不打印呢?
8、计算 n的阶乘。
9、计算 1!+2!+3!+......+10!
10、在一个有序数组中查找具体的某个数字n。
11、编写代码,演示多个字符从两端移动,向中间汇聚。
12、编写代码实现,模拟用户登录情景,并且只能登录三次。
13、写一个猜数字游戏(鹏哥C_37)
14、输入3个整数,输出按大到小的顺序输出
15、求两个数的最大公约数
16、打印出来1000年到2000年之间的闰年
17、写一个代码: 打印100~200之间的素数
18、自动关机的程序
19、复制字符串
20、内存设置
21、写一个函数交换两个整形变量的值
22、写一个函数可以判断一个数是不是素数。
23、写一个二分查找的函数
24、写一个函数,每调用一次这个函数,就会将num的值增加1。
25、接受一个整型值(无符号),按照顺序打印它的每一位。
26、编写函数求字符串的长度
27、用递归的方法求n的阶乘
28、求第n个斐波那契数。( 不考虑溢出 )
1、下面代码输出多少,为什么?
#include<string.h>
int main()
{printf("%d\n",strlen("c:\test\328\test.c")); return 0;
输出为14:
- 因为:\t(转义字符)算一个字符,\32算一个字符(\ddd8进制中最大为7)。
2、你要好好学习么?
- 如果你要好好学习,请输出1,就会打印好工作,否则打印回家卖红薯。
#include<stdio.h>
int main()
{int input = 0;printf("你要好好学习么?\n");printf("如果好好学习请输入1 >:");scanf("%d",&input);if(input == 1){printf("好工作\n");}else{printf("回家卖红薯\n");}return 0;
}
3、一直写代码,
- 输出“写代码行数”一直到1000行的时候,停止输出好工作。
int main()
{int i = 0;while(i<1000){printf("写代码第%d行\n",i);i++;}if(i == 1000){printf("好工作\n");}return 0;
}
4、两个数求最大值
要求:输入两个数字,写一个函数输出最大值(用条件操作符)
int MAX(int x,int y)
{return (x>y?x:y);
}
int main()
{int a = 0;int b = 0;scanf("%d %d",&a,&b);printf("%d\n",MAX(a,b));return 0;
}
5、输入1-5输出工作日,输入6-7输出休息日,其他输入错误
int main()
{int day =0;scanf("%d",&day);switch(day){case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("休息日\n");break;default:printf("输入错误\n");}return 0;
}
6、写一个输入密码的代码
要求:
1.输出“请输入密码”
2.输入abc 123时候再输出“请选择Y/N”
3.如果输入Y输出“确认成功”,否则输出“确认失败”
int main()
{char password[20] = { 0 };printf("请输入密码:>");scanf("%s",password);printf("请确认密码(Y/N):>");//清理缓冲区,处理'\n'//getchar();//清理缓冲区的多个字符int tmp =0;while((tmp = getchar()) != '\n'){;}int ch = getchar();if(ch == 'Y'){printf("确认成功\n");}else{printf("确认失败\n");}return 0;
}
7、怎么样当输入数字时候打印,输入字母的时候不打印呢?
int main()
{int ch = 0;while((ch = getchar()) != EOF){if(ch<'0' || ch>'9') //这里0-9就是ASSIC的值continue;putchar(ch);}return 0;
}
8、计算 n的阶乘。
int main()
{int i =0;int n = 0;int ret = 1;scanf("%d",&n);for(i=1; i<=n; i++){ret*=i;}printf("%d\n",ret);return 0;
}
9、计算 1!+2!+3!+......+10!
int main()
{int i =0;int n = 0;int ret = 1;int sum = 0;scanf("%d",&n);for(i=1; i<=n; i++){ret*=i;sum = sum+=ret;}printf("%d\n",sum);return 0;
}
10、在一个有序数组中查找具体的某个数字n。
#include<stdio.h>int main()
{int arr[10] = {1,2,3,4,5,6,7,8,9,10};int k = 7;int sz = sizeof(arr)/sizeof(arr[0]);int left = 0;int right = sz - 1;while(left<=right){int mid = (left + right) / 2;if(k > arr[mid]){left = mid + 1;}else if(k < arr[mid]){right = mid - 1;}else{printf("找到了为:第%d位数\n",mid);break;}}if(left > right){printf("找不到\n");}return 0;
}
11、编写代码,演示多个字符从两端移动,向中间汇聚。
例如如下:
*elcome to bit!!!!!!*
**lcome to bit!!!!!**
***come to bit!!!!***
****ome to bit!!!****
*****me to bit!!*****
******e to bit!******
******* to bit*******
********to bi********
*********o b*********
********** **********
*********************
请按任意键继续. . .
#include<string.h>
#include<windows.h>
int main()
{char arr1[] = "welcome to bit!!!!!!!";char arr2[] = "*********************";int left = 0;int right = strlen(arr1) - 1;while(left<=right){arr1[left] = arr2[left];arr1[right] = arr2[right];left++;right--;printf("%s\n",arr1);//Sleep(1000); //睡眠1秒//system("cls"); //清空屏幕}return 0;
}
12、编写代码实现,模拟用户登录情景,并且只能登录三次。
(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序。
#include<string.h>
int main()
{int i = 0;char password[20]={ 0 }; for(i= 0; i<3; i++){printf("请输出密码:>");scanf("%s",password);//if(password = "123456") 这样比较字符是错误的if(strcmp(password,"123456") == 0){printf("登录成功\n");break;}else{printf("密码输出错误,请重新输入!\n");}}if(i == 3){printf("密码输入错误3次,退出程序\n");}return 0;
}
13、写一个猜数字游戏(鹏哥C_37)
1.自动产生一个1-100之间的随机数
2.猜数字
a.猜对了,就恭喜你,游戏结束
b.你猜错了,会告诉猜大了,还是猜小了,继续猜,直到猜对
#include<stdlib.h>
#include<time.h>
void game()
{int guess = 0;int ret = (rand()%100)+1;while(1){printf("请猜数字:>");scanf("%d",&guess);if(guess < ret){printf("猜小了\n");}else if(guess > ret){printf("猜大了\n");}else{printf("猜对了,恭喜你\n");break;}}
}
int main()
{srand((unsigned int)time(NULL));int input = 0;do{menu();printf("请选择:>");scanf("%d",&input);switch(input){case 1:printf("游戏开始\n");game();break;case 0:printf("退出游戏\n");break;default:printf("输入错误,请重新输入:>\n");break;}}while(input);return 0;
}
14、输入3个整数,输出按大到小的顺序输出
#include<stdlib.h>
#include<time.h>
void game()
{int guess = 0;int ret = (rand()%100)+1;while(1){printf("请猜数字:>");scanf("%d",&guess);if(guess < ret){printf("猜小了\n");}else if(guess > ret){printf("猜大了\n");}else{printf("猜对了,恭喜你\n");break;}}
}
int main()
{srand((unsigned int)time(NULL));int input = 0;do{menu();printf("请选择:>");scanf("%d",&input);switch(input){case 1:printf("游戏开始\n");game();break;case 0:printf("退出游戏\n");break;default:printf("输入错误,请重新输入:>\n");break;}}while(input);return 0;
}
15、求两个数的最大公约数
int main()
{int m = 0;int n = 0;scanf("%d %d",&m,&n);int max = m<n? m:n;int i = 0;for(i=max; i>1; i--){if((m%i == 0)&&(n%i == 0)){printf("最大公约数是:%d\n",i);break;}}return 0;
}
或者也可以用辗转相除法:
int main()
{int m = 0;int n = 0;scanf("%d %d",&m,&n);int t = 0;while(t=m%n){m = n;n = t;}printf("最大公约数就是:%d",n);return 0;
}
16、打印出来1000年到2000年之间的闰年
要求:
- 打印出来1000年到2000年之间的闰年。
- 打印出来一共从1000年到2000年闰年的个数。
- 闰年是:
1.能被4整除,不能被100整除
2.能被400整除
int main()
{int y = 0;int count = 0;for(y = 1000; y<=2000; y++){if(((y%4==0)&&(y%100 !=0))||(y%400 == 0)){printf("%d ",y);count++;}}printf("\n一共:%d个闰年\n",count);return 0;
}
17、写一个代码: 打印100~200之间的素数
要求:素数就是只能被1和本身整除的树。
int main()
{int i = 0;for(i=100; i<=200; i++){int j = 0;for(j=2; j<i; j++){if(i%j == 0){break;}}if(i == j){printf("%d ",i);}}return 0;
}
或者:
int main()
{int i = 0;int count = 0;for(i=100; i<=200; i++){int j = 0;int flag = 1; //设置一个标签for(j=2; j<i; j++){if(i%j == 0){flag = 0;//当可以整除的时候,标签就设置为1break;}}if(flag == 1)//当标签一直为1,说明就没有进去整除{count++;printf("%d ",i);}}printf("\n一共%d个\n",count);return 0;
}
18、自动关机的程序
要求:如果输入"我是猪"就取消关机,如果输入错误,在次提示请重新输入
利用goto语句写一个
#include<string.h>
#include<stdlib.h>
int main()
{char input[20] = {0};system("shutdown -s -t 60");
begin:printf("请注意,60秒后关机,如果取消关机请输入:我是猪\n");scanf("%s",input);if(strcmp(input,"我是猪") == 0){system("shutdown -a");}else{goto begin;}return 0;
}
不要goto语句写一个
#include<stdlib.h>
#include<string.h>
int main()
{char input[20] = { 0 };system("shutdown -s -t 60");while(1){printf("电脑即将再60秒后关机,请输入“我是猪”结束关机\n");scanf("%s",&input);if(strcmp(input,"我是猪")==0){system("shutdown -a");break;}}return 0;
}
19、复制字符串
要求:
一个数组:arr1只有一个0,另外一个数组arr2里有:hello bit,把arr2里面的字符串复制到arr1中,并且打印arr1
#include<string.h>
int main()
{char arr1[20] = {0};char arr2[] = "hello bit";strcpy(arr1,arr2);printf("%s\n",arr1);return 0;
}
20、内存设置
要求:
arr里有字符串为:hello bit,现在需要把arr里面的前5个字符改成x,输入为:xxxxx bit
#include<string.h>
int main()
{char arr[] = "hello bit";memset(arr,'x',5);printf("%s\n",arr);return 0;
}
21、写一个函数交换两个整形变量的值
void Switch(int* pa,int* pb)
{int tmp =*pa;*pa = *pb;*pb = tmp;
}
int main()
{int a = 10;int b = 20;Switch(&a,&b);printf("a=%d\nb=%d\n",a,b);return 0;
}
22、写一个函数可以判断一个数是不是素数。
要求:求出100到200之间所有的素数
int is_prime(int n)
{int i = 0;for(i=2;i<n;i++){if(n%i == 0){return 0;}}return 1;
}
int main()
{int i = 0;int count = 0;for(i=100;i<=200; i++){if(is_prime(i) == 1){printf("%d ",i);count++;}}printf("\n一共:%d个\n",count);return 0;
}
23、写一个二分查找的函数
要求:数组{1,2,3,4,5,6,7,8,9,10}找里面的7在数组下标
int find(int *arr,int sz,int k)
{int left = 0;int right = sz - 1;int mid = 0;while(left<=right){mid = (left + right)/2;if(k<arr[mid]){right = mid - 1;}else if(k>arr[mid]){left = mid + 1;}else{return mid;}}return -1;
}
int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,10};int sz = sizeof(arr) / sizeof(arr[0]);int k = 7;int ret = find(arr,sz,k);if(ret != -1){printf("下标为:%d\n",ret);}elseprintf("找不到\n");return 0;
}
24、写一个函数,每调用一次这个函数,就会将num的值增加1。
void ADD(int* p)
{(*p)++;
}
int main()
{int num = 0;ADD(&num);printf("%d\n",num); ADD(&num);printf("%d\n",num); ADD(&num);printf("%d\n",num);return 0;
}
25、接受一个整型值(无符号),按照顺序打印它的每一位。
例如:输入:1234,输出1234.
void print(unsigned int n)
{if(n>9){print(n/10);}printf("%d ",n%10);
}
int main()
{unsigned int num = 0;scanf("%d",&num);print(num);return 0;
}
26、编写函数求字符串的长度
分别用:创建临时变量方式和不允许创建临时变量的方式
创建临时变量方式:
int my_strlen(char* str)
{int count = 0;while(*str != '\0'){count++;str++;}return count;
}
int main()
{char arr[] = "hello";printf("%d\n",my_strlen(arr));return 0;
}
不允许创建临时变量的方式:
int my_strlen(char* str)
{if(*str != '\0'){return 1+ my_strlen(str+1) ;}elsereturn 0;
}
int main()
{char arr[] = "hello";printf("%d\n",my_strlen(arr));return 0;
}
27、用递归的方法求n的阶乘
int Fac(int n)
{if(n<=1)return 1;elsereturn n*Fac(n-1);}
int main()
{int n = 0;scanf("%d",&n);printf("%d\n",Fac(n));return 0;
}
28、求第n个斐波那契数。( 不考虑溢出 )
提示:前两个数之和等于第三个数例如:1 1 2 3 5 8 13 21 ...
并且说明递归和迭代的区别
int Fac(int n)
{if(n<=2)return 1;elsereturn Fac(n-1)+Fac(n-2);
}
int main()
{int n = 0;scanf("%d",&n);printf("%d\n",Fac(n));return 0;
}
以上用递归的方法计算的效率比较低,用迭代的化效率高如下:
int Fac(int n)
{int a = 1;int b = 1;int c = 1;while(n>2){c = a+ b;a = b;b = c;n--;}return c;
}
int main()
{int n = 0;scanf("%d",&n);printf("%d\n",Fac(n));return 0;
}
以上的例子可以区别出递归和迭代的区别:
- 递归就是指程序调用自身的编程思想,即一个函数调用本身,递归是重复调用函数自身实现循环。
- 迭代是利用已知的变量值,根据递推公式不断演进得到变量新值得编程思想,迭代是函数内某段代码实现循环。
- 而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。
- 迭代与普通循环的区别是:迭代时,循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。
- 递归与普通循环的区别是:循环是有去无回,而递归则是有去有回(因为存在终止条件)。
- 在循环的次数较大的时候,迭代的效率明显高于递归。
C语言初识(1) | C简介 | 主函数 | 数据类型
C语言初识(2) | 变量和常量
C语言初识(3) | 字符串 | 转译字符
C语言初识(4) | 顺序 | 选择 | 循环
C语言初识(5) | 函数 | 数组 | 操作符
C语言初识(6) | 关键字
C语言初识(7) | 指针| 结构体 | define
C语言初阶(8) | 选择结构 | if_else | switch
C语言初阶(9) | while | break | continue | getchar
C语言初阶(10) | 初识for循环 | 入门
相关文章:
C语言练习 | 初学者经典练习汇总
目录 1、下面代码输出多少,为什么? 2、你要好好学习么? 3、一直写代码, 4、两个数求最大值 5、输入1-5输出工作日,输入6-7输出休息日,其他输入错误 6、写一个输入密码的代码 7、怎么样当输入数字时候…...
华为OD机试 - 自动曝光(Python) | 机试题算法思路 【2023】
最近更新的博客 华为OD机试 - 卡片组成的最大数字(Python) | 机试题算法思路 华为OD机试 - 网上商城优惠活动(一)(Python) | 机试题算法思路 华为OD机试 - 统计匹配的二元组个数(Python) | 机试题算法思路 华为OD机试 - 找到它(Python) | 机试题算法思路 华为OD机试…...
「6」线性代数(期末复习)
🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 目录 第五章 相似矩阵及二次型 &2)方阵的特征值与特征向量 &3ÿ…...
1.1 硬件与micropython固件烧录及自编译固件
1.ESP32硬件和固件 淘宝搜ESP32模块,20-50元都有,自带usb口,即插即用. 固件下载地址:MicroPython - Python for microcontrollers 2.烧录方法 为简化入门难度,建议此处先使用带GUI的开发工具THonny,记得不是给你理发的tony老师. 烧录的入口是: 后期通过脚本一次型生成和烧…...
【MySQL进阶】视图 存储过程 触发器
😊😊作者简介😊😊 : 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享Java相关知识。 🎉🎉个人主页🎉🎉 : 南瓜籽的主页…...
[Linux篇] Linux常见命令和权限
文章目录使用XShell登录Linux1.Linux常用基本命令:1.1 ls(列出当前的目录下都有哪些文件和目录)1.2 cd (change directory 切换目录)1.3 pwd(查看当前目录的绝对路径)1.4 touch(创建文件)1.5 ca…...
29岁从事功能测试被辞,面试2个月都找不到工作吗?
最近一个28岁老同学联系我,因为被公司辞退,找我倾诉,于是写下此文。 他是14年二本毕业,在我的印象里人特别懒,不爱学习,专业不好,毕业前因为都没找到合适工作,直接去创业了…...
【C#个人错题笔记1】
观前提醒 记录一些我不会或者少见的内容,不一定适合所有人 字符串拼接 int a3,b8; Console.WriteLine(ab);//11 Console.WriteLine("ab");//ab Console.WriteLine(a""b);//38 Console.WriteLine("ab"ab);//ab38 Console.WriteLine…...
基于lambda的mongodb查询插件
需求背景需要一个像mybatis plus 一样的基于lambda, 且面向对象的查询mongo数据的插件。在网上找了很久,没有发现有类似功能的插件。于是自己手写了一个,借助mongoTemplate屏蔽了底层查询语句的实现细节。在此基础上,实现了查询的统一封装。技…...
基于微信小程序的微信社团小程序
文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…...
GEE学习笔记 七十三:【GEE之Python版教程七】静态展示影像和动态展示影像
我们使用GEE在线编辑可以直接通过在线的网页可以加载展示我们计算的结果,而python版的GEE要展示我们的计算结果可能就比较麻烦。如果有同学看过GEE的python版API中可以找到一个类ee.mapclient,这个类的介绍是它是GEE官方通过Tk写的一个加载展示地图的类。…...
PGLBox全面解决图训练速度、成本、稳定性、复杂算法四大问题!
图神经网络(Graph Neural Network,GNN)是近年来出现的一种利用深度学习直接对图结构数据进行学习的方法,通过在图中的节点和边上制定聚合的策略,GNN能够学习到图结构数据中节点以及边内在规律和更加深层次的语义特征。…...
超详细的 pytest 教程(一)使用入门篇
前言 pytest到目前为止还没有翻译的比较好全面的使用文档,很多英文不太好的小伙伴,在学习时看英文文档还是很吃力。本来去年就计划写pytest详细的使用文档的,由于时间关系一直搁置,直到今天才开始写。本文是第一篇,主…...
二叉树理论基础知识点
二叉树的种类 在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 如图所示: 这…...
【算法基础】堆⭐⭐⭐
一、堆 1. 堆的概念 堆(heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: (1)堆中某个结点的值总是不大于或不小于其父结点的值; (2)堆总是一棵完全二叉树。 将根结点最大的堆叫做最大堆或大根堆,根结点…...
时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测
时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测 目录时序预测 | MATLAB实现CNN-SVM卷积支持向量机时间序列预测预测效果基本介绍研究回顾程序设计参考资料预测效果 基本介绍 CNN-SVM预测模型将深度学习模型作为特征学习器,将SVM 支持向量机 作为训练器进行…...
【TypeScrip】TypeScrip的任意类型(Any 类型 和 unknown 顶级类型):
文章目录一、安转依赖:【1】nodejs 环境执行ts【2】使用ts-node二、Any 类型 和 unknown 顶级类型【1】没有强制限定哪种类型,随时切换类型都可以 我们可以对 any 进行任何操作,不需要检查类型【2】声明变量的时候没有指定任意类型默认为any【…...
智能洗地机什么牌子好?智能洗地机排行
要说家庭清洁热门的产品,洗地机肯定首当其冲,集洗吸拖为一体的清洁工具,省时又省力,可谓是家里清洁好助手,今天笔者就为大家介绍几款重量轻、噪音轻、拖地干净的洗地机! 一、CEYEE希亦T800洗地机 在国内,洗…...
【数据结构与算法】链表1:移除链表 设计链表链表反转(双指针法、递归法)
文章目录今日任务1.链表理论基础(1)什么是链表?(2)链表的类型(3)链表的存储方式(4)链表的定义(5)链表的操作(6)性能分析2.…...
山东大学软件学院面向对象简答题整理【个人向】
面向对象简答题整理【个人向】 0.试用面向对象语言简述改写和重定义的异同,以及方法绑定时的差别 改写是子类的方法和父类的方法具有相同的方法名和类型签名重定义是子类的方法和父类的方法方法名相同但类型签名不同在方法绑定时,改写是动态绑定&#…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
Copilot for Xcode (iOS的 AI辅助编程)
Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot,它能根据上下文补全代码,快速生成常用…...
