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位数:输出这个输的个位 十位 百位 千位 #include <stdio.h> int main(int argc, char const *argv[]) {int a;printf("输入一个4位数:");scanf("%d",&a);printf("个位:%d\n"…...
Compose 的产生和原理
引言 compose 出现的目的: 重新定义android 上ui 的编写方式。为了提高android 原生ui开发效率。让android 的UI开发方式跟上时代。 正文 compose 是什么? 就是一套ui框架 和flutter 一样是一套ui框架 Flutter:跨平台开发趋势与企业应用的…...
JS做贪吃蛇小游戏(源码)
一、HTML代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><link rel…...
c语言笔记 结构体内嵌套结构体的表示方式
目录 结构体内嵌套结构体 问:我们都该如何去访问该结构体里面的结构体的成员呢?怎么去给里面的成员赋值呢? 说明: 运行上述代码后,输出结果如下: 结构体内嵌套结构体 背景:如果我们在结构体中放结构体࿰…...
Vue3一个组件绑定多个 v-model,自定义 prop 和 event 名称
Vue3一个组件绑定多个 v-model,自定义 prop 和 event 名称 Vue3中v-model默认使用modelValue作为prop,update:modelValue作为事件,而Vue2使用的是value和input。此外,Vue3允许通过参数的方式为组件添加多个v-model绑定࿰…...
STM32---FreeRTOS事件标志组
一、简介 事件标志位:用一个位,来表示事件是否发生 事件标志组:一组事件标志位的集合,可以简单的理解时间标志组,就是一个整体。 事件标志租的特点: 它的每一个位表示一个时间(高8位不算&…...
分享一个项目中遇到的一个算法题
需求背景: 需求是用户要创建一个任务计划在未来执行,要求在创建任务计划的时候判断选择的时间是否符合要求,否则不允许创建,创建的任务类型有两种,一种是单次,任务只执行一次;另一种是周期&…...
入门 Sui Move 开发:9. 一个 Sui dApp 前端项目
内容概览 接下来一起通过 PTB 和 Navi SDK 实现一个一键存入借出的简单 DApp。 本节分为两部分: 创建一个 DApp 前端项目以及 Sui dApp Kit 的使用;了解 Navi SDK,主要包含的功能以及如何实现存入和借出功能; 最终完成我们的项…...
如何打造安全稳定的亚马逊采购测评自养号下单系统?
在当今的电商领域,亚马逊作为全球领先的在线购物平台,其商品种类繁多,用户基数庞大,成为了众多商家和消费者的首选。而对于一些需要进行商品测评或市场调研的用户来说,拥有一个稳定、安全的亚马逊账号体系显得尤为重要…...
c语言笔记 结构体基础
目录 基础知识 结构体定义 基础知识 在c语言中变量是有类型的,比如整型,char型,浮点型等,这些都是单一的类型,那么如果说我要定义一个学生的信息,那么这些单一的类型是不足以表达一个学生的全部信息&#…...
添加 ChatGPT/Grok/Gemini 到浏览器搜索引擎
文章目录 添加 ChatGPT/Grok/Gemini 到浏览器搜索引擎如何添加步骤 1: 打开浏览器设置步骤 2: 添加新搜索引擎步骤 3: 保存设置 注意事项 添加 ChatGPT/Grok/Gemini 到浏览器搜索引擎 在使用 ChatGPT/Grok/Gemini 进行对话时,每次都需要先打开对应的网页࿰…...
golang-struct结构体
struct结构体 概述 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是 Golang 中一种复合类型,它是由一组具有相同或不同类型的数据字段组成的数据结构。 结构体是一种用户自定义类型,它可…...
矫平机:工业制造的“误差归零者”,如何重塑智造新生态?
在新能源汽车电池托盘的生产线上,一块2米长的铝合金板材因焊接应力产生了0.5毫米的隐形翘曲。这个看似微不足道的变形,却导致激光焊接工序的良率暴跌至65%。当工程师们尝试传统矫正方案时,发现高强度铝合金既不能加热校形,又无法承…...
Springboot中的@ConditionalOnBean注解:使用指南与最佳实践
在使用Spring Boot进行开发时,大家应该都听说过条件注解(Conditional Annotations)。其中的ConditionalOnBean注解就很有趣,它帮助开发者在特定条件下创建和注入Bean,让你的应用更加灵活。今天就来聊聊这个注解的使用场…...
Spring 中 BeanFactoryPostProcessor 的作用和示例
一、概览 1. 核心定位 BeanFactoryPostProcessor 是 Spring 容器级别的扩展接口,在 Bean 实例化之前,对 Bean 的配置元数据(即 BeanDefinition)进行动态修改或扩展。其核心功能围绕以下两点: 修改现有 Bean 的定义&…...
PDFMathTranslate 安装、使用及接入deepseek
PDFMathTranslate 安装、使用及接入deepseek 介绍安装及使用接入deepseek注意 介绍 PDFMathTranslate 是非常好用的科学 PDF 文档翻译及双语对照工具,可以将论文按照其原本的排版结构执行多种语言翻译,并且可以接入如:谷歌翻译、deepl、deep…...
Docker生存手册:安装到服务一本通
文章目录 一. Docker 容器介绍1.1 什么是Docker容器?1.2 为什么需要Docker容器?1.3 Docker架构1.4 Docker 相关概念1.5 Docker特点 二. Docker 安装2.1 查看Linux内核版本2.2 卸载老版本docker,避免产生影响2.3 升级yum 和配置源2.4 安装Dock…...
JAVA中关于图形化界面的学习(GUI)动作监听,鼠标监听,键盘监听
动作监听: 先创建一个图形化界面,接着创建一个按钮对象,设置按钮的大小。 添加一个addActionListener(); addActionListener() 方法定义在 java.awt.event.ActionListener 接口相关的上下文中,许多支持用户交互产生…...
wepy微信小程序自定义底部弹出框功能,显示与隐藏效果(淡入淡出,滑入滑出)
视图html部分 <view class"salePz"><view class"btnSelPz" tap"pzModelClick">去选择</view><!-- modal --><view class"modal modal-bottom-dialog" hidden"{{hideFlag}}"><view class&q…...
Api架构设计--- HTTP + RESTful
Api架构设计--- HTTP RESTful 什么是RESTfulRESTful 设计原则RESTful 接口类型RESTful 状态码RESTful Uri设计原则Api传参:QueryString 和 UriPath RESTful和HTTP的区别注意事项 什么是RESTful RESTful(Representational State Transfer)是一…...
设计模式-适配器模式
适配器模式是一种结构型设计模式,用于将一个类的接口转换为客户端期望的另一个接口,使得原本不兼容的类可以协同工作。它的核心思想是通过中间层(适配器)解决接口不匹配的问题,类似于电源插头转换器。 核心思想 适配…...
MacBook部署达梦V8手记
背景 使用Java SpringBootDM开发Web应用,框架有License,OSX加载dll失败,安装了Windows 11,只有一个C盘,达梦安装后因为C盘权限问题,创建数据库失败,遂采用Docker容器方式部署。 下载介质 官网在…...
MySQL程序
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 1. mysqld (MySQL服务器) mysqld也被称为MySQL服务器,是⼀个多线程程序,对数据⽬录进⾏访问管理(包含数据库…...
APB-清华联合腾讯等机构推出的分布式长上下文推理框架
APB (Accelerating Distributed Long-Context Inference by Passing Compressed Context Blocks acrossGPUs)是清华大学等机构联合提出的分布式长上下文推理框架。通过稀疏注意力机制和序列并行推理方式,有效解决了大模型处理长文本时的效率瓶颈。APB采用更小的Anch…...
python爬虫笔记(一)
文章目录 html基础标签和下划线无序列表和有序列表表格加边框 html的属性a标签(网站)target属性换行线和水平分割线 图片设置宽高width,height html区块——块元素与行内元素块元素与行内元素块元素举例行内元素举例 表单from标签type属性pla…...
Pycharm接入DeepSeek,提升自动化脚本的写作效率
一.效果展示: 二.实施步骤: 1.DeepSeek官网创建API key: 创建成功后,会生成一个API key: 2. PyCharm工具,打开文件->设置->插件,搜索“Continue”,点击安装 3.安装完成后&…...
spring boot 过滤器简单demo
1. 过滤器(Filter)的概念 过滤器是 Java Web 应用中的一种组件,它可以在请求到达目标资源(如 Controller)之前或响应返回客户端之后,对请求和响应进行统一处理。它的核心作用是对 HTTP 请求和响应进行拦截…...
3.8 Spring Boot监控:Actuator+Prometheus+Grafana可视化
在Spring Boot应用中,通过整合Actuator、Prometheus和Grafana可以构建完整的监控体系,实现指标采集、存储和可视化。以下是具体实现步骤: 一、Spring Boot Actuator 配置 作用:暴露应用健康指标、性能数据等监控端点。 1. 添加依…...
C++中的单例模式及具体应用示例
AI 摘要 本文深入探讨了C中的单例模式及其在机器人自主导航中的应用,特别是如何通过单例模式来管理地图数据。文章详细介绍了单例模式的基本结构、优缺点以及在多线程环境中的应用,强调了其在保证数据一致性和资源管理中的重要性。 接着,文章…...
网络编程——套接字、创建服务器、创建客户端
一、套接字 1.1什么是套接字 套接字文件,原本就是一个和管道文件类似,用来实现进程间通信的一个文件 既然有了管道文件,当时为什么还要开发套接字文件,去实现进程的通信 因为管道文件是半双工模式的 套接字文件是全双工模式的…...
【设计模式】3W 学习法深入剖析创建型模式:原理、实战与开源框架应用(含 Java 代码)
3W 学习法总结创建型模式(附 Java 代码实战及开源框架应用) 创建型模式主要关注 对象的创建,旨在提高代码的可复用性、可扩展性和灵活性。本文采用 3W 学习法(What、Why、How),深入分析 五大创建型模式&am…...
软考系统架构师考试目录(2023新版)
论文 2023下半年 开发:论面向对象设计的应用与实现大数据:论多数据源集成的应用与实现测试:论软件可靠性评价的设计与实现运维:论边云协同的设计与实现 2024上半年 大数据:Lambda架构,分层批处理层、加…...
Apifox Helper 自动生成API接口文档
在我们开发过程中我们在编写请求地址和编写请求参数的时候特别花费时间耗费了我们很多时间,作为一个程序员,更应该把精力时间集中在开发上, Apifox Helper 是 Apifox 团队针对 IntelliJ IDEA 环境所推出的插件,可以在 IDEA 环境中…...
MySQL开发陷阱与最佳实践:第1章:MySQL开发基础概述-1.1 MySQL简介与应用场景
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 MySQL开发陷阱与最佳实践:第1章:MySQL开发基础概述-1.1 MySQL简介与应用场景1.1.1 MySQL的发展历程与市场地位1.1.2 MySQL的核心特性与技术优势1.1.2…...
电鱼智能EFISH-RK3576-SBC工控板已适配Android 14系统
EFISH-RK3576-SBC工控板此前已提供了Linux 6.1.57系统,为了满足更多客户的需求,电鱼智能近日又为其成功适配了Android 14系统——硬件性能卓越的核心板与Android 14的深度组合,将为用户带来更加流畅、开放、智能的使用体验。 一、高性能处理器…...
C++ 语法之函数和函数指针
在上一章中 C 语法之 指针的一些应用说明-CSDN博客 我们了解了指针变量,int *p;取变量a的地址这些。 那么函数同样也有个地址,直接输出函数名就可以得到地址,如下: #include<iostream> using namespace std; void fun() …...
LabVIEW生成EXE文件错误提示
在LabVIEW生成EXE时弹出 “The build is missing one or more source files or items the source files reference on disk”,表明项目中引用的某些文件(如VI、子模块、依赖库或配置文件)未被正确包含或路径丢失。以下是具体原因及解决方案&a…...
HTML,CSS,JavaScript
HTML:负责网页的结构(页面元素和内容)。 CSS:负责网页的表现(页面元素的外观、位置等页面样式,如:颜色、大小等)。 Javascript:负责网页的行为(交互效果)。 MDN前端开发文档(MDN Web Docs) HTML HTML(HyperText Markup Language):超文本标记语言超文本:超越了文本的…...
SpringCloud 学习笔记2(Nacos)
Nacos Nacos 下载 Nacos Server 下载 | Nacos 官网 下载、解压、打开文件: 更改 Nacos 的启动方式 Nacos 的启动模式默认是集群模式。在学习时需要把他改为单机模式。 把 cluster 改为 standalone,记得保存! 启动startup.cmd Ubuntu 启动…...
Qt5.15.2实现Qt for WebAssembly与示例
目录 1.什么是Qt for WebAssembly? 1.1 什么是 WebAssembly? 1.2 WebAssembly 的优势 1.3 什么是 Qt for WebAssembly? 1.4 Qt for WebAssembly 的特点 1.5 编译过程 1.6 运行时环境 注意!!!注意&am…...
荣耀手机怎么录制屏幕?屏幕录制后为视频加水印更有“安全感”
在数字时代,屏幕录制已经成为记录和分享信息的重要方式之一。无论是记录游戏的高光时刻,还是制作教学视频,亦或是保存重要的线上会议内容,屏幕录制都能轻松搞定。 荣耀手机作为一款功能强大的设备,自然也提供了便捷的…...
3DXML 与 SOLIDWORKS 格式转换:技术协同及迪威模型方案
一、引言 在产品设计的前沿领域,3DXML 与 SOLIDWORKS 作为主流格式,虽各有所长,但因格式差异,常成为数据流通与协作的阻碍。对于技术人员和学生党而言,掌握二者间的转换技术,不仅能提升设计效率࿰…...
CH347使用笔记:CH347结合STM32CubeIDE实现单片机下载与调试
目录 基于 STM32CubeIDE的 CH347 JTAG/SWD调试器使用说明1. CH347驱动安装与配置2. STM32CubeIDE调试器配置2.1 打开相关工程后,进行以下操作2.2 openocd.exe替换2.3 脚本添加2.4 更改调试器选择 3. 下载程序4. 使用过程中可能遇到的问题4.1 CH347未插入4.2 Openocd…...
JS—基本数据类型和引用数据类型:1分钟掌握两者的区别
个人博客:haichenyi.com。感谢关注 一. 目录 一–目录二–分类三–核心区别四–实际场景中的问题五–总结对比 二. 分类 前面说过这么判断数据类型,今天来说说基本数据类型和引用数据类型的区别。 基本数据类型引用数据类型StringObjectNumberFunct…...
使用 CryptoJS 实现 AES 解密:动态数据解密示例
在现代加密应用中,AES(高级加密标准)是一种广泛使用的对称加密算法。它的安全性高、效率好,适合用于各种加密任务。今天,我们将通过一个实际的示例,展示如何使用 CryptoJS 实现 AES 解密,解密动态数据。CryptoJS 是一个基于 JavaScript 的加密库,它支持 AES、DES 等多种…...
[设计模式与源码]1_Spring三级缓存中的单例模式
欢迎来到啾啾的博客🐱,一个致力于构建完善的Java程序员知识体系的博客📚,记录学习的点滴,分享工作的思考、实用的技巧,偶尔分享一些杂谈💬。 欢迎评论交流,感谢您的阅读😄…...
使用React和google gemini api 打造一个google gemini应用
实现一个简单的聊天应用,用户可以通过输入问题或点击“Surprise me”按钮获取随机问题,并从后端API获取回答。 import { useState } from "react"; function App() {const [ value, setValue] useState(""); // 存储用户输入的问题…...
为什么Django能有效防御CSRF攻击?
在当今这个互联网高度发达的时代,Web安全问题层出不穷,其中跨站请求伪造(CSRF,Cross-Site Request Forgery)就是一个比较常见的威胁。攻击者利用用户的身份信息,发送恶意请求,改变用户的属性或执…...
Oracle常见系统函数
一、字符类函数 1,ASCII(c)和CHR(i)字符串和ascii码互转换 SQL> select ascii(Z) ,ascii(H),ascii( A) from dual;ASCII(Z) ASCII(H) ASCII(A) ---------- ---------- ----------90 72 32SQL> select chr(90),chr(72),chr(65) from dual;C…...
【Visio使用教程】
Visio使用教程 1. Visio 的基本介绍1.1 Visio 是什么?核心特点: 1.2 主要功能与应用场景典型用途:行业应用: 1.3 版本与兼容性1.4 Visio下载1.5 安装 2. Visio 的界面与基础操作2.1 界面布局详解2.2 创建新文档与模板选择2.3 形状…...