当前位置: 首页 > article >正文

C语言经典代码练习题

1.输入一个4位数:输出这个输的个位 十位 百位 千位

#include <stdio.h>
int main(int argc, char const *argv[])
{int a;printf("输入一个4位数:");scanf("%d",&a);printf("个位:%d\n",a%10);printf("十位:%d\n",a%100/10);printf("百位:%d\n",a/100%10);printf("千位:%d\n",a/1000);return 0;
}

2.从键盘读入两个整数,输出他们的和

#include <stdio.h>
int main(int argc, char const *argv[])
{int a,b;printf("输入第一个整数:");scanf("%d",&a);printf("输入第二个整数:");scanf("%d",&b);printf("它们的和:%d\n",a+b);return 0;
}

3.一个水分子的质量约为3.0*10^-23g,1夸脱水大约有950g,编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少水分子。表示:3.0e-23 打印格式:%f或%e

#include <stdio.h>
int main(int argc, char const *argv[])
{int a;printf("输入水的夸脱数:");scanf("%d",&a);printf("%d夸脱水包含%f水分子\n",a,a*950/3.0e-23);return 0;
}

4.实现大小写转换(用getchar、putchar实现)即如果是大写字母转成小写输出如果是小写字母转为大写输出。

#include <stdio.h>
int main(int argc, char const *argv[])
{int a=getchar();if(65<=a&&a<=90){putchar(a+32);putchar(10);}else if (a>=97&&a<=122){putchar(a-32);putchar(10);}return 0;
}

5.从终端输入3个整数;从大到小输出。

#include <stdio.h>
int main(int argc, char const *argv[])
{int a, b, c;printf("请输入三个整数:\n");scanf("%d%d%d", &a, &b, &c);if (a <= b){int m;m = a;a = b;b = m;}if (b >= c)printf("%d %d %d\n", a, b, c);else if (a >= c && c >= b)printf("%d %d %d\n", a, c, b);elseprintf("%d %d %d\n", c, a, b);return 0;
}

6.输入任意两个数,输出两数之间(包括这两个数)偶数之和

#include <stdio.h>
int main(int argc, char const *argv[])
{int a, b, c;int sum = 0;printf("输入任意两个数:\n");scanf("%d%d", &a, &b);if (a > b){c = a;a = b;b = c;}for (int i = a; i <= b; i++){if (i % 2 == 0)sum += i;}printf("%d与%d偶数之和为%d\n", a, b, sum);return 0;
}

7.写程序实现功能:读入两个整数(data1和data2)和一个运算符(op),计算表达式data1 op data2 的值.其中op可以为+、-、*、/四个符号中的任一种(用switch语句实现)

#include <stdio.h>
int main(int argc, char const *argv[])
{int a, b;char c;printf("输入两个整数:\n");scanf("%d%d", &a, &b);getchar();printf("输入一个运算符(+、-、*、/):\n");scanf("%c", &c);switch (c){case '+':printf("%d%c%d=%d\n", a, c, b, a + b);break;case '-':printf("%d%c%d=%d\n", a, c, b, a - b);break;case '*':printf("%d%c%d=%d\n", a, c, b, a * b);break;case '/':printf("%d%c%d=%d\n", a, c, b, a / b);break;}return 0;
}

8.终端输入十个数,去掉其中最大值和最小值,求平均值。

#include <stdio.h>
int main(int argc, char const *argv[])
{int a[10];int max, min;int sum = 0;printf("输入十个数:\n");for (int i = 0; i < 10; i++){scanf("%d", &a[i]);sum += a[i];}for (int i = 0; i < 10; i++){max = a[0];min = a[0];if (a[i] > max)max = a[i];if (a[i] < min)min = a[i];}printf("sum=%d\n", sum);printf("max=%d\n", max);printf("min=%d\n", min);printf("去掉最大值和最小值,平均值为:%f\n", (float)(sum - max - min) / 8);return 0;
}

9.计算斐波那契数列前15项并逆序输出。

#include <stdio.h>
int main(int argc, char const *argv[])
{int a[15] = {1, 1};for (int i = 2; i < 15; i++){a[i] = a[i - 2] + a[i - 1];}for (int i = 14; i >= 0; i--)printf("%d\n", a[i]);return 0;
}

10.循环输入一个5位数,判断它是不是回文数。当输入0时循环结束。即12321是回文数,个位与万位相同,十位与千位相同。

#include <stdio.h>
int main(int argc, char const *argv[])
{int a;printf("输入一个5位数:");while (1){scanf("%d", &a);if (a == 0)break;if ((a % 10 == a / 10000) && (a / 10 % 10 == a / 1000 % 10))printf("是回文数\n");elseprintf("不是回文数\n");printf("输入一个5位数:");}return 0;
}

11.输入一个字符串,大小写转换输出。

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{char a[33] = {};scanf("%s", a);int n = strlen(a);for (int i = 0; i < n; i++){if (a[i] >= 'a' && a[i] <= 'z')printf("%c", a[i] - 32);else if (a[i] >= 'A' && a[i] <= 'Z')printf("%c", a[i] + 32);}return 0;
}

12.冒泡排序。

#include <stdio.h>
int main(int argc, char const *argv[])
{int a[5] = {6, 5, 4, 2, 3};for (int i = 0; i < 4; i++){for (int j = 0; j < 4 - i; j++){if (a[j] > a[j + 1]){a[j] = a[j] ^ a[j + 1];a[j + 1] = a[j] ^ a[j + 1];a[j] = a[j] ^ a[j + 1];}}}for (int i = 0; i < 5; i++){printf("%d", a[i]);}return 0;
}

13.选择排序。

#include <stdio.h>
int main(int argc, char const *argv[])
{int a[5] = {5, 4, 6, 9, 7};int temp;for (int i = 0; i < 4; i++){int min = i;for (int j = i + 1; j < 5; j++){if (a[j] < a[min])min = j;}temp=a[i];a[i]=a[min];a[min]=temp;}for (int i = 0; i < 5; i++)printf("%d", a[i]);return 0;
}

14.字符串逆序输出(两种方法实现)。

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{// 字符串逆序输出// 法1// char a[] = "hello world";// char *p = a;// int n = strlen(a);// for (int i = n; i >= 0; i--)// {//     printf("%c ", p[i]);// }char a[] = "hello world";char *p = a + strlen(a) - 1;for (int i = 0; i < strlen(a); i++){printf("%c", *p);p--;}// 法2// char a[] = "hello world";// char *p = a;// int n = strlen(a);// for (int i = 0; i < n / 2; i++)// {//     p[i] = p[i] ^ p[n - i - 1];//     p[n - i - 1] = p[i] ^ p[n - i - 1];//     p[i] = p[i] ^ p[n - i - 1];// }// printf("%s", p);// return 0;char a[66];gets(a);char *p = a;char *q = a + strlen(a) - 1;while (p < q){*p = *p ^ *q;*q = *p ^ *q;*p = *p ^ *q;p++;q--;}printf("%s", a);return 0;
}

15.字符串转数字:"1234" -----> 1234(一千两百三十四)。

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{// 字符串转数字//法1// char a[33];// gets(a);// int n=strlen(a);// int sum=0;// int j;// for (int i = 1; i < n; i++)// {//     j*=10;// }   // for (int i = 0; i < n; i++)// {//     sum+=(a[i]-48)*j;//     j/=10;// }// printf("%d\n", sum);// return 0;//法2char a[33];gets(a);char *p=a;int n=0;while (*p!='\0'){n=n*10+(*p-48);p++;}printf("%d\n",n);
}

16.打印杨辉三角前十行(二维数组)。

#include <stdio.h>
int main(int argc, char const *argv[])
{// 打印杨辉三角前十行// 法1//  int a[10][10] = {0};//  for (int i = 0; i < 10; i++)//  {//      for (int j = 0; j <= i; j++)//      {//          if (j - 1 >= 0)//              a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//          else//              a[i][j] = 1;//      }//  }//  for (int i = 0; i < 10; i++)//  {//      for (int j = 0; j <= i; j++)//          printf("%-3d ", a[i][j]);//      printf("\n");//  }// 法2int a[10][10] = {};for (int i = 0; i < 10; i++){a[i][0] = 1;a[i][i] = 1;}for (int i = 2; i < 10; i++){for (int j = 1; j < 10; j++)a[i][j] = a[i - 1][j - 1] + a[i - 1][j];}for (int i = 0; i < 10; i++){for (int j = 0; j <= i; j++)printf("%d ", a[i][j]);putchar(10);}
}

17.已知字符数组a[10]和b[10]中元素的值递增有序,用指针实现将两个数组中元素按照递增顺序输出。如:char a[10]=”acdgjmno” ; char b[10]=”befhil”;->”abcdefghijlmno”

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{char a[10] = "acdgjmno";char b[10] = "befhil";char *p = a, *q = b;int i = 0, j = 0;while (i < strlen(a) && j < strlen(b)){if (p[i] < q[j]){printf("%c", p[i]);i++;}else{printf("%c", q[j]);j++;}}if (i < strlen(a)){for (int k = i; k < strlen(a); k++)printf("%c", a[k]);}if (j < strlen(b)){for (int k = j; k < strlen(b); k++)printf("%c", b[k]);}return 0;
}

18.给定一串字符"I love china",实现以单词为单位的逆序,如:"china love i"

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{char a[] = "i love china";char *p = a;int n = strlen(a);for (int i = 0; i < n / 2; i++){p[i] = p[i] ^ p[n - i - 1];p[n - i - 1] = p[i] ^ p[n - i - 1];p[i] = p[i] ^ p[n - i - 1];}char *q;char *k=NULL, temp;p = q = a;while (*p != '\0'){while (*p == ' ' )p++;q = p;while (*q != ' ' && *q != '\0')q++;k = q;q = k - 1;while (p < q){temp = *p;*p = *q;*q = temp;p++;q--;}p = k;}printf("%s\n", a);return 0;
}

19.定义求x的n次方值的函数( x是实数, n为正整数)。

#include <stdio.h>int fun(int x, int n)
{int r = 1;for (int i = 0; i < n; i++)r *= x;printf("%d\n", r);return r;
}int main(int argc, char const *argv[])
{// int r = 1;// int x = 2;// for (int i = 0; i < 4; i++)//     r *= x;// printf("%d\n", r);printf("%d\n", fun(2, 4));
}

20.编写一个函数,函数的2个参数,第一个是一个字符,第二个是一个char *,返回字符串中该字符的个数。

#include <stdio.h>int fun(char ch, char *p)   //ch=a='a', p=s
{int n = 0;while (*p != '\0') //*p{if (*p == ch)n++;p++; //p=p+1}return n;
}int main(int argc, char const *argv[])
{char a = 'a';char s[32] = "abbba";printf("%d\n", fun(a, s));
}

21.编程实现strlen函数的功能,strlen计算字符串实际长度,不包含'\0'

#include <stdio.h>int fun(char *p)
{int n = 0;while (*p){n++;p++;}return n;
}int main(int argc, char const *argv[])
{char s[32] = "abbba";int len = 0;len = fun(s);printf("%d\n", len);//printf("%d\n", fun(s));//printf("%d\n", fun("6666666"));
}

22.字符串"123"转换成整型123

#include <stdio.h>int fun(char *p)
{int sum = 0;while (*p != '\0'){sum = sum * 10 + (*p - 48);p++;}return sum;
}int main(int argc, char const *argv[])
{char str[32] = "123";printf("%d\n", fun(str));
}

23.封装函数实现两数交换。

#include <stdio.h>
void fun(int *x, int *y)
{int tmp;tmp = *x;*x = *y;*y = tmp;
}int main(int argc, char const *argv[])
{int a = 10, b = 20;fun(&a, &b);printf("%d %d\n", a, b);
}

24.封装函数实现strcpy功能。

#include <stdio.h>void fun(char *p, char *q)
{while (*q != '\0')*p++ = *q++;  //*p=*q; p++; q++;*p = '\0';
}int main(int argc, char const *argv[])
{char a[32] = "";char b[32] = "hello";fun(a, b);printf("%s\n", a);
}

25.封装函数实现strcat功能。

#include <stdio.h>
#include <string.h>
void fun(char *p, char *q)
{while (*p)   //p=p+strlen(p);p++;while (*q)*p++ = *q++;*p = '\0';
}int main(int argc, char const *argv[])
{char a[32] = "hello";char b[32] = "world";fun(a, b);printf("%s\n", a);
}

26.用递归函数求5的阶乘5!

#include <stdio.h>
#include <string.h>int fac(int n)   //n=5  n=4 n=3 n=2 n=1
{if (n == 1)return 1;       //fac(1)=1if (n > 1)return n * fac(n - 1);  //递推阶段:5*fac(4)  fac(4)=4*fac(3) fac(3)=3*fac(2) fac(2)=2*fac(1)//回归阶段:==> fac2(2)=2*1=2 ==>fac(3)=3*2=6 ==> fac(4)=4*6=24 ==>fac(5)=5*24=120
}int main(int argc, char const *argv[])
{int n = 5;printf("%d\n", fac(n));
}

27.斐波那契数列:指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 求第五个数。

#include <stdio.h>
#include <string.h>int fac(int n)   //5 4 
{if (n == 1 || n == 2)return 1;if (n > 2)return fac(n - 1) + fac(n - 2);   //fac(5)=fac(4)+fac(3)= fac(3)+fac(2) +fac(3) = 5
}int main(int argc, char const *argv[])
{int n = 5;printf("%d\n", fac(n));
}

28.创建一个名为student的结构体,包含姓名,学号,班级,从终端输入学生的信息并打印。

#include <stdio.h>
#include <string.h>
struct student
{char name[32];int id;int class;
};struct student s1;
int main(int argc, char const *argv[])
{scanf("%s %d %d", s1.name, &s1.id, &s1.class);printf("%s %d %d\n", s1.name, s1.id, s1.class);
}

29.typedef用法

#include <stdio.h>
#include <string.h>
//1.给普通变量重命名
typedef int size4;//2. 给指针类型重命名
typedef int *int_p;//3. 给数组类型重名
typedef int intArr5[5];int main()
{size4 a = 10;                    //等同于int a=10;int_p p = &a;                    //等同于int *p=&a;intArr5 arr = {1, 2, 3, 4, 5}; //等同于int arr[5]={1,2,3,4,5};printf("%d\n", *p);     //10printf("%d\n", arr[3]);  //4
}

30.创建一个描述手机的结构体叫phone, 包含品牌,型号,颜色,价格。从终端输入你自己手机的信息并打印。(用typedef)。

#include <stdio.h>
#include <string.h>
typedef struct phone
{char brand[32];char type[32];char color[32];int price;
} ph;ph my;
int main()
{scanf("%s %s %s %d", my.brand, my.color, my.type, &my.price);printf("%s %s %s %d\n", my.brand, my.color, my.type, my.price);
}

31.创建一个名为student的结构体数组,包含学号,姓名,成绩,(数据类型自己定义),从终端输入学生的信息并打印分数及格的学生信息(输入3人即可)。

#include <stdio.h>
typedef struct student
{char name[32];int number;int score;
} st;int main(int argc, char const *argv[])
{st s[3];for (int i = 0; i < 3; i++)scanf("%s %d %d", s[i].name, &s[i].number, &s[i].score);for (int i = 0; i < 3; i++){if (s[i].score >= 60)printf("%s %d %d\n", s[i].name, s[i].number, s[i].score);}return 0;
}

32.创建一个结构体数组,数组名为book,结构体成员包含编号,书名,售价(数据类型自己设定)。写一个函数,包含两个形参,分别接收结构体数组的首地址和一个指定的售价,函数的功能为打印结构体数组中售价大于指定售价的书的信息。

#include <stdio.h>
#define N 3
typedef struct book
{char name[32];int id;int price;
} BOOK; //BOOK等同于struct bookBOOK b[N] = {{"shuihu", 1, 40},{"zyj zhuan", 2, 200},{"tuling zhuan", 3, 0}};void bookPri(BOOK *p, int n)
{for (int i = 0; i < N; i++){if (p->price > n)printf("%s %d %d\n", p->name, p->id, p->price);p++;}
}int main(int argc, char const *argv[])
{bookPri(b, 6);return 0;
}

33.创建一个游戏英雄的结构体数组(5个元素), 结构体成员包含名称, 血量和价格。给出每个英雄信息,封装函数实现按价格从低到高打印英雄信息,(用冒泡排序)。封装函数实现修改英雄信息功能。

#include <stdio.h>typedef struct hero
{char name[32];int hp;int price;
} HERO;void sort(HERO *p, int n)
{HERO tmp;for (int i = 0; i < n - 1; i++){for (int j = 0; j < n - i - 1; j++){if (p[j].price > p[j + 1].price){tmp = p[j];p[j] = p[j + 1];p[j + 1] = tmp;}}}
}void change(HERO *p, int n)
{if (n <= 3)scanf("%s %d %d", p[n - 1].name, &p[n - 1].hp, &p[n - 1].price);elseprintf("err\n");
}int main(int argc, char const *argv[])
{HERO a[3] = {{"zdl", 1, 50},{"zyj", 999, 100},{"xyb", 10000, 2}};change(a, 1);sort(a, 3);for (int i = 0; i < 3; i++)printf("%s %d %d\n", a[i].name, a[i].hp, a[i].price);return 0;
}

34.封装函数实现冒泡排序。

#include <stdio.h>void fun(int *a, int n)
{for (int i = 0; i < n - 1; i++){for (int j = 0; j < n - 1 - i; j++){if (a[j + 1] > a[j]){int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}for (int i = 0; i < 10; i++)printf("%d ", a[i]);printf("\n");
}int main(int argc, char const *argv[])
{int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};fun(a, 10);return 0;
}

35.封装函数实现如下功能:输入任意两个数,返回两数之间(包括这两个数)偶数之和。

#include <stdio.h>int fun(int a, int b)
{int sum = 0;if (a >= b){int t = a;a = b;b = t;}for (int i = a; i <= b; i++){if (i % 2 == 0)sum += i;}return sum;
}int main(int argc, char const *argv[])
{int a, b, sum;scanf("%d %d", &a, &b);sum = fun(a, b);printf("%d\n", sum);return 0;
}

相关文章:

C语言经典代码练习题

1.输入一个4位数&#xff1a;输出这个输的个位 十位 百位 千位 #include <stdio.h> int main(int argc, char const *argv[]) {int a;printf("输入一个&#xff14;位数&#xff1a;");scanf("%d",&a);printf("个位&#xff1a;%d\n"…...

Git远程拉取和推送配置

Git进行远程代码拉取和推送时候提示配置user.name 和 user.email 背景&#xff1a;换新电脑后使用Git进行代码拉取和推送过程中&#xff0c;提示“Make sure you configure your “user.name” and “user.email” in git.”。这个配置针对git的正常使用仅需要配置一次&#xf…...

MySQL WHERE 子句详解

MySQL WHERE 子句详解 引言 在数据库操作中&#xff0c;WHERE 子句是用于筛选记录的重要工具。它允许我们在查询中指定条件&#xff0c;从而只选择满足特定条件的记录。本文将详细介绍 MySQL 中的 WHERE 子句&#xff0c;包括其语法、用法以及一些高级技巧。 WHERE 子句的基…...

基于SpringBoot+Vue3实现的宠物领养管理平台功能七

一、前言介绍&#xff1a; 1.1 项目摘要 随着社会经济的发展和人们生活水平的提高&#xff0c;越来越多的人开始关注并参与到宠物领养中。宠物已经成为许多家庭的重要成员&#xff0c;人们对于宠物的关爱和照顾也日益增加。然而&#xff0c;传统的宠物领养流程存在诸多不便&a…...

【leetcode hot 100 994】腐烂的橘子

多源广度优先搜索 所有的腐烂橘子在广度优先搜索上是等价于同一层的节点的。假设这些腐烂橘子刚开始是新鲜的&#xff0c;而有一个腐烂橘子(我们令其为超级源点)会在下一秒把这些橘子都变腐烂&#xff0c;而这个腐烂橘子刚开始在的时间是 −1&#xff0c;那么按照广度优先搜索…...

精挑20题:MySQL 8.0高频面试题深度解析——掌握核心知识点、新特性和优化技巧

1. MySQL 8.0 中&#xff0c;为什么查询缓存被移除&#xff1f; 答案&#xff1a; 原因&#xff1a;查询缓存对频繁更新的表效果差&#xff0c;任何对该表的写操作都会清空所有相关缓存&#xff0c;导致缓存命中率低&#xff0c;反而增加开销。 替代方案&#xff1a; 使用应用…...

调研报告:Hadoop 3.x Ozone 全景解析

Ozone 是 Hadoop 的分布式对象存储系统,具有易扩展和冗余存储的特点。 Ozone 不仅能存储数十亿个不同大小的对象,还支持在容器化环境(比如 Kubernetes)中运行。 Apache Spark、Hive 和 YARN 等应用无需任何修改即可使用 Ozone。Ozone 提供了 Java API、S3 接口和命令行接口…...

深入理解 RLP 编码与 JSON:原理、应用与比较

在区块链和数据存储领域&#xff0c;RLP&#xff08;Recursive Length Prefix&#xff09;编码和**JSON&#xff08;JavaScript Object Notation&#xff09;**是两种重要的数据编码方式。它们分别适用于不同的应用场景&#xff0c;并具有不同的优缺点。本文将系统性地分析 RLP…...

【Linux】Makefile秘籍

> &#x1f343; 本系列为Linux的内容&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; > &#x1f38a;个人主页:【小编的个人主页】 >小编将在这里分享学习Linux的心路历程✨和知识分享&#x1f50d; >如果本篇文章有问题&#xff0c;还请多多包涵&a…...

玩转物联网-4G模块如何快速将数据上传到巴法云(TCP篇)

目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件准备 2.3 硬件连接 2.4 检查驱动 3 巴法云平台设备创建 3.1 创建账号 3.2 进入巴法云 3.3 获取联网参数 4 连接巴法云 4.1 打开配置工具读取基本信息 4.2 设置连接参数进行数据交互 4.2.1 建立TCP连接 4.2.2 订阅主题 4.2.3 发布信…...

postgresql 高版本pgsql备份在低版本pgsql中恢复失败,报错:“unsupported version”

关键字 PostgreSQL、pg_restore、版本兼容性、数据库迁移、pg_dump、备份恢复、unsupported version in file header 背景环境 系统配置 环境类型操作系统PostgreSQL版本内存工具链测试环境Windows 111616GBNavicat/PgAdmin生产环境Windows Server 2012 R2128GBPgAdmin/命令…...

html相关常用语法

html相关常用语法 HTML&#xff08;HyperText Markup Language&#xff09;即超文本标记语言&#xff0c;是用于创建网页的标准标记语言 HTML使用标记语言描述Web页面的结构 HTML元素是HTML页面的建构快 HTML元素通过标签tag来表示 HTML标签是“标题”、”段落“、”表格“等内…...

vue3+ts心得

1、Vue3核心 1、setup setup里弱化this&#xff0c;return可以返回函数&#xff0c;返回后页面也显示那个函数值 data里面是可以用this.来获取setup里的值&#xff0c;这个是单向的 vue3两个script标签不要觉得奇怪&#xff0c;一个是配置组合式api的&#xff0c;一个是配置组…...

单片机flash存储也做磨损均衡

最近在做一个项目&#xff0c;需要保存设置数据&#xff0c;掉电不丢失。那么首先想到的是加个24c02&#xff0c;是一个eeprom&#xff0c;但是客户板太小&#xff0c;没有办法进行扩展。后面就找了一个带ee的OTP单片机&#xff0c;发现擦写次数有限&#xff0c;只有1000次&…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(10)

1.问题描述&#xff1a; 离线推送&#xff0c;锁屏的时候没有弹出消息&#xff0c;只有下拉在通知中心里面显示。请问是否是正常的&#xff1f; 解决方案&#xff1a; 检查一下是否存在图片风控&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-referen…...

SQLark中如何进行数据筛选与排序

本文将为你介绍在 SQLark 中如何进行数据筛选与排序&#xff0c;掌握这些操作能够极大提升你的工作效率。 SQLark官网链接:www.sqlark.com 数据筛选 在数据库操作中&#xff0c;数据筛选是一项关键功能&#xff0c;它依据特定条件对数据进行过滤&#xff0c;帮助用户从海量数据…...

token升级(考虑在分布式环境中布置token,结合session保证请求调用过程中token不会过期。)

思路&#xff1a; 首先&#xff0c;用户的需求是确保使用同一个Token的外部调用都在一个Session中处理。 需要考虑Token与Session绑定、安全措施、Session管理、分布式处理等。 使用Redis作为Session存储&#xff0c; 在Java中 通过Spring Data Redis或Lettuce库实现。 2.生成…...

VSTO(C#)Excel开发11:自定义任务窗格与多个工作簿

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

python:AI+ music21 构建LSTM模型生成爵士风格音乐

这是一个使用 python的 music21 和 TensorFlow/Keras 构建 LSTM 模型生成爵士风格音乐的完整脚本。该脚本包含MIDI数据处理、模型训练和音乐生成全流程&#xff1a; # -*- coding: utf-8 -*- """AI music21 和 TensorFlow/Keras 构建LSTM模型生成爵士风格音乐 …...

vscode查看文件历史git commit记录

方案一&#xff1a;GitLens 在vscode扩展商店下载GitLens 选中要查看的文件&#xff0c;vscode界面右上角点击GitLens的图标&#xff0c;选择Toggle File Blame 界面显示当前打开文件的所有修改历史记录 鼠标放到某条记录上&#xff0c;可以看到记录详情&#xff0c;选中O…...

使用netDxf扩充LaserGRBL使它支持Dxf文件格式

为 LaserGRBL 扩展支持 DXF 文件格式&#xff0c;需要了解 LaserGRBL 的代码结构&#xff0c;并在其基础上添加 DXF 文件的解析和转换逻辑。以下是详细的扩展方案&#xff1a; 1. 了解 LaserGRBL LaserGRBL 是一个用于控制激光雕刻机的开源软件&#xff0c;支持 G 代码文件的加…...

GaussDB备份数据常用命令

1、常用备份命令gs_dump 说明&#xff1a;是一个服务器端工具&#xff0c;可以在线导出数据库的数据&#xff0c;这些数据包含整个数据库或数据库中指定的对象&#xff08;如&#xff1a;模式&#xff0c;表&#xff0c;视图等&#xff09;&#xff0c;并且支持导出完整一致的数…...

数学建模 第三节

目录 前言 一 钻井布局问题 第一问分析 第二问分析 总结 前言 这里讲述99年的钻井布局问题&#xff0c;利用这个问题讲述模型优化&#xff0c;LINGO&#xff0c;MATLAB的使用 一 钻井布局问题 这个是钻井布局的原题&#xff0c;坐标的位置为 a [0.50,1.41,3.00,3.37,3…...

单调队列【C/C++】

当我在网上搜索了一大堆单调队列的文章后&#xff0c; 我人傻了&#xff01;&#xff1f; 单调队列不应该很难吗&#xff1f;&#xff1f; 不应该是&#xff0c;像 优先队列 那样&#xff0c;站在 堆 的肩膀上&#xff0c;极尽升华吗&#xff1f;&#xff1f;&#xff1f; …...

Spark DataFrame、Dataset 和 SQL 解析原理深入解析(万字长文多张原理图)

目录 1. Spark SQL 概述 1.1 Spark 整体架构概览 1.2 DataFrame 与 Dataset 简介 2. RDD 与 Spark 的分布式架构基础 2.1 弹性分布式数据集(RDD) 2.2 Spark 的分布式执行模型 3. SQL 解析流程与 Catalyst 优化器 3.1 SQL 解析流程概述 3.2 解析阶段与抽象语法树(AST…...

算法系列——有监督学习——3.逻辑回归

一、概述 逻辑回归是一种学习某个事件发生概率的算法。利用这个概率&#xff0c;可以对某个事件发生或不发生进行二元分类。虽然逻辑回归本来是二元分类的算法&#xff0c;但也可以用于三种类别以上的分类问题。为了理解这个算法&#xff0c;请思考以下例子。 你在回家的路上发…...

深入理解traceroute命令及其原理

traceroute 是一个网络诊断工具&#xff08;Windows上叫tracert&#xff09;&#xff0c;用于显示数据包从本地主机到远程主机经过的路由&#xff08;跳数&#xff09;。它可以帮助您了解数据包在网络中的传输路径&#xff0c;以及每跳的延迟情况。这对于网络故障排除、分析网络…...

前后端联调解决跨域问题的方案

引言 在前后端分离的开发模式中&#xff0c;前端和后端通常在不同的服务器或端口运行&#xff0c;这样就会面临跨域问题。跨域问题是指浏览器因安全限制阻止前端代码访问与当前网页源不同的域、协议或端口的资源。对于 Java 后端应用&#xff0c;我们可以通过配置 CORS&#x…...

深入解析 .NET 中的依赖项加载机制:原理、实现与最佳实践

在现代应用程序的开发中&#xff0c;依赖项管理与加载是非常重要的组成部分&#xff0c;尤其是在大型系统中&#xff0c;如何高效地加载和管理依赖项可以极大地影响应用程序的性能、可维护性和扩展性。在 .NET 中&#xff0c;依赖项加载不仅涉及静态依赖的管理&#xff0c;还包…...

【vue2 + Cesium】相机视角移动+添加模型、模型点击事件

参考文章&#xff1a;vue2 使用 cesium 【第二篇-相机视角移动添加模型】 这篇文章在上篇文章的基础上继续开发&#xff0c;主要实现效果 相机视角移动 添加模型 点击事件 上篇文章&#xff1a;【vue2 Cesium】使用Cesium、添加第三方地图、去掉商标、Cesium基础配置、地…...