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

C语言刷题笔记3(7)

7.1 数组处理斐波那契数列

题目描述:用数组来处理Fibonacci数列并输出。

输入:一个不超过40且大于2的整数n,表示需要处理并输出的Fibonacci数个数。

输出:输出前n个Fibonacci数,每行输出5个值,按每12位向右对齐的方式输出。请注意不要在第一行前输出一个空行,并请注意行尾输出换行。

#include <stdio.h>int main() {int fib[50];fib[0] = 1;fib[1] = 1;int n = 0;scanf("%d", &n);if(n>2&&n<=40){for (int i = 2; i < n; i++) {fib[i] = fib[i - 1] + fib[i - 2];}for (int i = 0; i < n; i++) {if (i % 5 == 0 && i != 0) {printf("\n");}printf("%12d", fib[i]);}printf("\n");}return 0;
}

在C语言中定义数组时,数组元素的个数不能出现变量,只能出现常量或常量表达式.下面这种写法就会报错:

    int n;scanf("%d", &n);int arr[n];

7.2 冒泡排序法

题目描述:用起泡法(冒泡排序)对n个整数排序并输出从小到大排序后的结果。

输入:第一行包含一个大于0且不超过200的正整数n,表示以下有n个整数需要被排序。第二行有n个用空格隔开的整数。

输出:输出从小到大排序后的结果,每个整数后输出一个空格。请注意行尾输出换行。

#include <stdio.h>int main() {int arr[50];int n;scanf("%d", &n);for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}

7.3 取矩阵最大值

题目描述:读入一个3×4的矩阵,求出矩阵中的最大值,并输出最大值所在的行号和列号。

输入:共有3行,每行有4个用空格隔开的整数,表示矩阵的具体内容。

输出:在一行内输出三个用空格隔开的整数,分别表示矩阵中的最大值、最大值所在的行号和最大值所在的列号。行号和列号均从0开始排列。请注意行尾输出换行。

#include <stdio.h>int main() {int matrix[3][4];for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {scanf("%d", &matrix[i][j]);}}int maxValue = matrix[0][0];int maxRow = 0;int maxCol = 0;for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {if (matrix[i][j] > maxValue) {maxValue = matrix[i][j];maxRow = i;maxCol = j;}}}printf("%d %d %d\n", maxValue, maxRow, maxCol);return 0;
}

7.6 统计空格

题目描述:输入一行字符,统计并输出其中有多少个单词,单词之间用空格分隔。

输入:只有一行,保证只包含可见字符,且此行的所有字符数不超过100。

输出:一个整数,表示输入的一行字符中共有多少个单词。请注意行尾输出换行。

#include <stdio.h>int main() {char str[101];int i = 0;char c;while ((c = getchar()) != '\n' && i < 100) {str[i++] = c;}str[i] = '\0';int num = 0;int inWord = 0;for (i = 0; str[i] != '\0'; i++) {if (str[i] != ' ' && !inWord) {inWord = 1;num++;}else if (str[i] == ' ') {inWord = 0;}}printf("%d\n", num);return 0;
}

7.9 选择排序

题目描述:用选择法(选择排序)对10个整数从小到大排序,并按顺序输出。

输入:一行内有10个用空格隔开的整数。

输出:在一行中输出从小到大排序完毕的10个整数,在每个整数后输出一个空格。请注意行尾输出换行。

#include <stdio.h>int main() {int arr[10];for (int i = 0; i < 10; i++) {scanf("%d", &arr[i]);}for (int i = 0; i < 9; i++) {int minIndex = i;for (int j = i + 1; j < 10; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}if (minIndex != i) {int temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}for (int i = 0; i < 10; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}

7.11 数组插入

题目描述:给定一个从小到大有序的整数序列,将其保存至数组。另外输入一个整数,将其插入至这个数组中并保持数组有序。

输入:第一行有一个正整数n,表示原始的整数序列长度为n,保证n不超过50。
第二行有n个整数,表示原始的整数序列,保证这个序列是从小到大给出的。
第三行有一个整数,表示需要插入的整数。

输出:在一行中输出n+1个整数,表示完成插入的整数序列。每个整数后输出一个空格。
请注意行尾输出换行。

#include <stdio.h>
int main() {int n;scanf("%d", &n);int arr[50];for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}int num;scanf("%d", &num);int i;for (i = 0; i < n; i++) {if (num < arr[i]) {break;}}for (int j = n; j > i; j--) {arr[j] = arr[j - 1];}arr[i] = num;for (int k = 0; k <= n; k++) {printf("%d ", arr[k]);}printf("\n");return 0;
}

7.14鞍点——分治思想

题目描述:找出一个二维数组中的所有鞍点,即该位置上的元素在该行中最大但是在该列中最小。需要注意有可能鞍点不存在,此时需要输出“NO”。

输入:第一行有2个正整数n和m,表示二维数组的高度和宽度,保证n和m均不超过50。
之后的n行每行有m个用空格隔开的整数,表示二维数组对应位置的值。

输出:当鞍点存在时,将每个鞍点的信息在一行内输出,输出三个用空格隔开的整数,分别为鞍点元素的值以及其所在的行号和列号,有多个鞍点时,按照元素读入的顺序进行输出。当鞍点不存在时,在一行内输出“NO”。
请注意不需要输出引号,并请注意行尾输出换行。

样例输入 

2 3
23 83 15
99 98 97

样例输出 

83 0 1
#include <stdio.h>int main() {int n, m;scanf("%d %d", &n, &m);int arr[50][50];for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%d", &arr[i][j]);}}int andian = 0;for (int i = 0; i < n; i++) {int rowMax = arr[i][0];int colIndex = 0;for (int j = 1; j < m; j++) {if (arr[i][j] > rowMax) {rowMax = arr[i][j];colIndex = j;}}int isColMin = 1;for (int k = 0; k < n; k++) {if (arr[k][colIndex] < rowMax) {isColMin = 0;break;}}if (isColMin) {printf("%d %d %d\n", rowMax, i, colIndex);andian = 1;}}if (!andian) {printf("NO\n");}return 0;
}

7.15 折半查找

1. 基本原理

  • 折半查找(也叫二分查找)是一种在有序数组中查找特定元素的高效算法。它的基本思想是每次将查找区间缩小一半,直到找到目标元素或者确定目标元素不存在。
  • 假设我们有一个有序数组arr,数组元素是按从大到小(或从小到大)排列的,我们要查找目标元素target
  • 我们首先定义两个指针,lowhigh,分别指向数组的开头和结尾。在查找过程中,计算中间元素的索引mid=(low + high)/2(为了防止整数溢出,更安全的写法是mid = low+(high - low)/2)。

2. 查找过程

  • 比较中间元素arr[mid]和目标元素target
  • 如果arr[mid]==target,说明找到了目标元素,查找结束。
  • 如果arr[mid]>target(对于从大到小排序的数组),因为数组是有序的,所以目标元素应该在中间元素的左侧。此时,我们更新high = mid - 1,将查找区间缩小到lowmid - 1这个范围,然后继续在新的区间进行下一轮查找。
  • 如果arr[mid]<target(对于从大到小排序的数组),目标元素应该在中间元素的右侧。我们更新low = mid+1,将查找区间缩小到mid + 1high这个范围,然后继续下一轮查找。
  • 这个过程不断重复,每次都将查找区间缩小一半,直到low大于high,这意味着目标元素不在数组中,查找结束。

7.16 使用getchar逐行输入二维数组加密

题目描述:给出一篇文章,共有3行文字,每行有最多80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

输入:共有3行,表示输入的文章。

输出:在一行中输出文章中的英文大写字母、小写字母、数字、空格以及其他字符的个数,用空格隔开。请注意行尾输出换行。

样例输入 

I am a program.
This is the second line!
And this is the last line........

样例输出

3 47 0 12 10
#include <stdio.h>
int main() {char lines[3][81];int da = 0, xiao = 0, num = 0, space = 0, other = 0;int i = 0, j = 0;while (i < 3) {char ch = getchar();if (ch == '\n') {lines[i][j] = '\0';i++;j = 0;}else {lines[i][j++] = ch;}}for (i = 0; i < 3; ++i) {j = 0;while (lines[i][j] != '\0') {char ch = lines[i][j];if (ch >= 'A' && ch <= 'Z') {da++;}else if (ch >= 'a' && ch <= 'z') {xiao++;}else if (ch >= '0' && ch <= '9') {num++;}else if (ch == ' ') {space++;}else {other++;}j++;}}printf("%d %d %d %d %d\n", da, xiao, num, space, other);return 0;
} 

7.17 找规律

题目描述:输出如下图案:

* * * * *

 * * * * *

  * * * * *

   * * * * *

    * * * * *

请使用字符数组的方式完成本题。

#include <stdio.h>int main() {char pattern[5][15];for (int i = 0; i < 5; i++) {int starCount = 0;for (int j = 0; j < 15; j++) {if (starCount < 5 && (i == j || ((j - i) > 0 && (j - i) % 2 == 0))) {pattern[i][j] = '*';starCount++;} else {pattern[i][j] = ' ';}}pattern[i][14] = '\0';}for (int i = 0; i < 5; i++) {printf("%s\n", pattern[i]);}return 0;
}

7.18getchar加密一维数组

题目描述:有一行电文,已经按照如下规则译成了密码:
A->Z a->z
B->Y b->y
C->X c->x
… …
… …
即第1个字母变换成第26个字母,第i个字母变换成第(26-i+1)个字母。非字母字符不变。给定一段密码,请将其译成原文并输出。

输入:一行密码,包含各种可见字符,保证长度不超过100。

输出:如题目描述中密码翻译规则译出的原文。
请注意行尾输出换行。

样例输入 

R zn z kiltizn.

样例输出 

I am a program.
#include<stdio.h>
int main() {char arr[200];int i = 0;char ch='a';while (ch != '\n') {ch = getchar();if (ch == '\n') {arr[i] = '\0';break;}else {arr[i++] = ch;}}for (int n = 0; n < i; n++) {if (arr[n] >= 'a' && arr[n] <= 'z') {arr[n] = 'a' + ('z' - arr[n]);}if (arr[n] >= 'A' && arr[n] <= 'Z') {arr[n] = 'A' + ('Z' - arr[n]);}}for (int n = 0; n < i; n++) {printf("%c", arr[n]);}return 0;
}

改进:使用gets函数进行输入(字符数组中有空格)

#include<stdio.h>
int main() {char arr[200];gets(arr);int i = 0;while (arr[i] != '\0'){i++;}for (int n = 0; n < i; n++) {if (arr[n] >= 'a' && arr[n] <= 'z') {arr[n] = 'a' + ('z' - arr[n]);}if (arr[n] >= 'A' && arr[n] <= 'Z') {arr[n] = 'A' + ('Z' - arr[n]);}}for (int n = 0; n < i; n++) {printf("%c", arr[n]);}printf("\n");return 0;
}

7.19 strcat函数功能实现

题目描述:读入两个字符串,并将其连接起来的新字符串输出。要求不要使用strcat函数。

输入:两行不包含空格的字符串。保证每个字符串的长度不超过100。

输出:将第2行的字符串连接在第1行字符串之后的新字符串。请注意行尾输出换行。

样例输入 

I am a program.
This is a program.

样例输出

I am a program.This is a program.
#include<stdio.h>
int main() {char s1[500], s2[500];int i = 0, j = 0;gets(s1);gets(s2);while (s1[i] != '\0') {i++;}while (s2[j] != '\0') {s1[i++] = s2[j++];}s1[i] = '\0';printf("%s\n", s1);return 0;
}

7.20 strcmp函数功能的实现

题目描述:读入两个字符串s1和s2,比较这两个字符串。若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。输出的非零值应该是相比较的两个字符串第一个不相同位置的字符ASCII差值,例如”And”和”Aid”比较,根据第2个字符的比较结果,应输出5。
要求不要使用strcpy和strcmp函数。

输入:两行字符串。保证每个字符串的长度不超过100。

输出:两个字符串的比较结果。请注意行尾输出换行。

样例输入

I am a program.
I am not a program.

样例输出 

-13
#include <stdio.h>
int main() {char s1[200], s2[200];gets(s1);gets(s2);int i = 0;while (s1[i] != '\0' && s2[i] != '\0') {if (s1[i] != s2[i]) {printf("%d\n", s1[i] - s2[i]);return 0;}i++;}if (s1[i] == '\0' && s2[i] == '\0') {printf("0\n");}else if (s1[i] == '\0') {printf("%d\n", s1[i] - s2[i]);}else {printf("%d\n", s1[i] - s2[i]);}return 0;
}

7.21 strcpy函数功能实现

题目描述:读入两个字符串s1和s2,将s2中的全部字符复制到字符数组s1中去。要求不使用strcpy函数,并保证字符串末尾的’\0’标识符同时被赋值。

输入:两行字符串s1和s2。保证每个字符串的长度不超过100。

输出:将s2赋值至s1后的s1对应的字符串。请注意行尾输出换行。

样例输入 

I am a program.
I am not a program.

样例输出 

I am not a program.
#include <stdio.h>
int main() {char s1[200], s2[200];gets(s1);gets(s2);int i = 0,j = 0,n = 0;while (s1[i] != '\0') {i++;}while (s2[j] != '\0') {s1[n] = s2[j];n++;j++;}s1[n] = '\0';printf("%s\n", s1);return 0;
}

8.1弦截法求方程的根

输入:两个用空格隔开的实数x1和x2,表示弦截法的区间两端。保证x1< x2,且区间内一定有解。

输出:使用弦截法计算出的方程f(x)=x3-5x2+15x-80=0的根。小数点后保留4位小数。请注意行尾输出换行。

样例输入 

2 6

样例输出 

5.0000
#include <stdio.h>
#include <math.h>
double f(double x) {return x * x * x - 5 * x * x + 16 * x - 80;
}
int main() {double x1, x2;scanf("%lf %lf", &x1, &x2);while (f(x1) * f(x2) >= 0) {if (f(x1) == 0) {printf("%.4lf\n", x1);return 0;}else if (f(x2) == 0) {printf("%.4lf\n", x2);return 0;}else {x1 -= 1;x2 += 1;}}double x;do {x = x2 - f(x2) * (x2 - x1) / (f(x2) - f(x1));double fx = f(x);if (fabs(fx) < 1e-6) {break;}if (fx * f(x1) > 0) {x1 = x;}else {x2 = x;}} while (1);printf("%.4lf\n", x);return 0;
}

8.2递归

题目描述:有n个人坐在一起。问第n个人多少岁,他说比第n-1个人大k岁。问第n-1个人多少岁,他说比第n-2个人大k岁。问第n-2个人多少岁,他说比第n-3个人大k岁。问第n-3个人多少岁,他说比第n-4个人大k岁。这样问下去,除去第1个人,所有人都说比编号小1的人大k岁,而第1个人说自己a岁。使用函数递归的方法计算并输出第n个人的年龄。

输入:3个用空格隔开的正整数n、k、a,分别为题目描述中代表的含义。输入保证n、k、a均不超过100。

输出:第n个人的年龄。请注意行尾输出换行。

#include <stdio.h>int age(int n, int k, int a) {if (n == 1) {return a;} else {return age(n - 1, k, a) + k;}
}int main(){int n, k, a;scanf("%d %d %d", &n, &k, &a);printf("%d\n", age(n, k, a));return 0;
}

8.4汉诺塔递归实现

题目描述:用递归的方法输出Hanoi(汉诺)塔问题的解决步骤。汉诺塔问题描述如下:
古代有一个梵塔,塔内有3个座A、B、C。初始时A座上有n个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这n个盘子从A座移动到C座,但是每次只允许移动一个盘子,而且在移动过程中在3个座上需要始终保持大盘在下,小盘在上,在移动过程中可以使用B座。
要求使用递归的方法模拟并输出移动的步骤。

输入:一个正整数n,保证n不超过5。

输出:解决n个盘子的汉诺塔问题的步骤。
每一步一行,在这一行中输出将盘子从一个座移动至另一个的过程。例如移动A座顶部的盘子至C座,则输出A->C。
请注意行尾输出换行。

#include <stdio.h>
void hannuo(int n, char from, char to, char aux) {if (n == 1) {printf("%c->%c\n", from, to);}else {hannuo(n - 1, from, aux, to);printf("%c->%c\n", from, to);hannuo(n - 1, aux, to, from);}
}
int main() {int n;scanf("%d", &n);hannuo(n, 'A', 'C', 'B');return 0;
}

8.8 选择排序法

题目描述:用选择法(选择排序)对数组中的n个整数从小到大排序,并输出排序后的n个整数。要求使用将数组传至函数进行排序的方法。

输入:第一行有一个整数n,表示整数的个数。保证n不超过100。第二行有n个用空格隔开的整数。

输出:在一行内输出从小到大排序完成的整数,每个整数后输出一个空格。请注意行尾输出换行。

样例输入 

10
1 3 5 7 9 10 6 4 2 8

样例输出 

1 2 3 4 5 6 7 8 9 10 
#include <stdio.h>
void f(int arr[], int n) {int i, j, minIndex, temp;for (i = 0; i < n - 1; i++) {minIndex = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}if (minIndex != i) {temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}
}int main() {int arr[200], n,i;scanf("%d", &n);for ( i = 0; i < n; i++) {scanf("%d", &arr[i]);}f(arr, n);for (i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}

8.9二维数组查找最大值

题目描述:给定一个3×4的矩阵,求出所有元素中的最大值。要求使用将数组传至函数进行操作的方法。

输入:共有3行,每行有4个用空格隔开的整数。

输出:输出矩阵中的最大值。请注意行尾输出换行。

样例输入 

12 33 15 32
92 39 1 10
23 63 22 43

样例输出 

92
#include <stdio.h>
int find(int arr[][4], int rows) {int max = arr[0][0];for (int i = 0; i < rows; i++) {for (int j = 0; j < 4; j++) {if (arr[i][j] > max) {max = arr[i][j];}}}return max;
}
int main() {int str[3][4];for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {scanf("%d", &str[i][j]);}}int max = find(str, 3);printf("%d\n", max);return 0;
}

9.2 两个宏嵌套——海伦公式

题目描述:利用海伦公式,其中a、b、c为三角形的三边。要求通过定义两个带参数的宏,一个用来求s,另一个用来求area,完成三角形的面积计算。

输入三个用空格隔开的正整数,分别表示三角形的a、b、c三边。输入保证三角形不退化。

输出三角形的面积,小数点后保留3位小数。请注意行尾输出换行。


#include<stdio.h>
#include<math.h>
#define s(a,b,c)(a/2.0+b/2.0+c/2.0)
#define area(a,b,c)(sqrt(s(a,b,c)*(s(a,b,c) - a)*(s(a,b,c) - b)*(s(a,b,c) - c)))
int main() {int x, y, z;scanf("%d%d%d", &x, &y, &z);printf("%.3f\n", area(x, y, z));return 0;
}

相关文章:

C语言刷题笔记3(7)

7.1 数组处理斐波那契数列 题目描述:用数组来处理Fibonacci数列并输出。 输入:一个不超过40且大于2的整数n&#xff0c;表示需要处理并输出的Fibonacci数个数。 输出:输出前n个Fibonacci数&#xff0c;每行输出5个值&#xff0c;按每12位向右对齐的方式输出。请注意不要在第…...

【新人系列】Python 入门(十四):文件操作

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12801353.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Python 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…...

学成在线day06

上传视屏 断点续传 通常视频文件都比较大&#xff0c;所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大小没有限制&#xff0c;但是客户的网络环境质量、电脑硬件环境等参差不齐&#xff0c;如果一个大文件快上传完了网断了没有上传完成&…...

详细介绍HTTP与RPC:为什么有了HTTP,还需要RPC?

目录 一、HTTP 二、RPC 介绍 工作原理 核心功能 如何服务寻址 如何进行序列化和反序列化 如何网络传输 基于 TCP 协议的 RPC 调用 基于 HTTP 协议的 RPC 调用 实现方式 优点和缺点 使用场景 常见框架 示例 三、问题 问题一&#xff1a;是先有HTTP还是先有RPC&…...

ffmpeg 各版本号对应表格

想看看ffmpeg各个版本对应表&#xff0c; #! /bin/bashFF_PATH$1 CURRENTpwd RESULT"$CURRENT/test_version.txt"cd $FF_PATHif [ -f $RESULT ]; thenrm $RESULT fifor i in git branch -a | grep remotes/origin/release/ | grep -v HEAD | grep -v master; dogit…...

cesium 3Dtiles变量

原本有一个变亮的属性luminanceAtZenith&#xff0c;但是新版本的cesium没有这个属性了。于是 let lightColor 3.0result._customShader new this.ffCesium.Cesium.CustomShader({fragmentShaderText:void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial mate…...

如何分析Windows防火墙日志

Windows防火墙&#xff0c;也被称为Windows Defender Firewall&#xff0c;是一种内置的安全功能&#xff0c;可以主动监控和分析运行Windows操作系统的计算机上通过Windows防火墙的网络流量&#xff0c;主要目的是作为计算机和互联网或其他网络之间的屏障&#xff0c;使管理员…...

Linux下 history 命令输出时间

在 Linux 中&#xff0c;查看每条命令的执行时间。 文章目录 [toc]**1. 配置 Shell 以记录命令执行时间****1.1 Bash Shell****步骤&#xff1a;****注意事项&#xff1a;** **1.2 Zsh Shell****步骤&#xff1a;****注意事项&#xff1a;** 1. 配置 Shell 以记录命令执行时间 …...

ChatGPT/AI辅助网络安全运营之-数据解压缩

在网络安全的世界中&#xff0c;经常会遇到各种压缩的数据&#xff0c;比如zip压缩&#xff0c;比如bzip2压缩&#xff0c;gzip压缩&#xff0c;xz压缩&#xff0c;7z压缩等。网络安全运营中需要对这些不同的压缩数据进行解压缩&#xff0c;解读其本意&#xff0c;本文将探索一…...

导入 OpenCV for Android 的技巧

下载了 OpenCV for Android Sdk 以后&#xff0c;一头雾水&#xff0c;不知道从哪里下手&#xff0c;既不是jar、也不是aar&#xff0c;没关系&#xff0c;简单几步即可使用 OpenCV。 1、使用 Android Studio 打开 samples &#xff08;示例&#xff09;项目 2、同步项目&…...

云原生时代的轻量级反向代理Traefik

Traefik 是一个用于路由和管理网络流量的反向代理&#xff0c;同时也是一个支持多种协议&#xff08;HTTP、HTTPS、TCP、UDP&#xff09;的负载均衡器。它通过自动服务发现和动态配置&#xff0c;帮助开发者和运维团队轻松管理复杂的应用架构。 Traefik 的主要特点如下&#x…...

3D扫描对文博行业有哪些影响?

三维扫描技术对文博行业产生了深远的影响&#xff0c;主要体现在以下几个方面&#xff1a; 一、高精度建模与数字化保护 三维扫描技术通过高精度扫描设备&#xff0c;能够捕捉到文物的每一个细节&#xff0c;包括形状、纹理、颜色等&#xff0c;从而生成逼真的3D模型。这些模…...

linux安全管理-会话安全

文章目录 1 设置命令行界面超时退出2 配置终端登录失败策略3 配置 SSH 登录失败策略 1 设置命令行界面超时退出 1、检查内容 检查操作系统是否设置命令行界面超时退出。 2、配置要求 操作系统设置命令行界面超时退出。 3、配置方法 配置命令行界面超时时间&#xff0c;编辑/et…...

未来已来?AI技术革新改变我们的生活

在21世纪的今天&#xff0c;人工智能&#xff08;AI&#xff09;不再是一个遥远的概念&#xff0c;而是逐渐渗透到我们生活的方方面面。从智能家居到自动驾驶汽车&#xff0c;从个性化推荐系统到医疗诊断辅助&#xff0c;AI技术正在以惊人的速度发展&#xff0c;并深刻地影响着…...

列表上移下移功能实现

后台管理某列表需实现上移下移功能&#xff0c;并与前端展示列表排序相关。 现将开发完成过程笔记记录下来。 目录 列表增加属性 JQuery脚本 服务端 控制器 服务层 总结 列表增加属性 在循环渲染时&#xff0c;在table表格的tr上增加id和排序的属性值&#xff0c;以便传…...

[保姆式教程]使用labelimg2软件标注定向目标检测数据和格式转换

定向目标检测是一种在图像或视频中识别和定位对象的同时&#xff0c;还估计它们方向的技术。这种技术特别适用于处理有一定旋转或方向变化的对象&#xff0c;例如汽车、飞机或文本。定向目标检测器的输出是一组旋转的边界框&#xff0c;这些框精确地包围了图像中的对象&#xf…...

qt音频实战

一、Qt音频基础知识 1、QT multimedia 2、QMediaPlayer类&#xff1a;媒体播放器&#xff0c;主要用于播放歌曲、网络收音机等功能。 3、QMediaPlaylist类&#xff1a;专用于播放媒体内容的列表。 二、界面设计 三、代码 #include "mainwindow.h" #include "…...

【C++】static修饰的“静态成员函数“--静态成员在哪定义?静态成员函数的作用?

声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之为静态成员变量&#xff1b;用 static修饰的成员函数&#xff0c;称之为静态成员函数。静态成员变量一定要在类外进行初始化 一、静态成员变量 1)特性 所有静态成员为所有类对象所共…...

『Linux学习笔记』linux系统有哪些方法计算文件的md5!

linux系统有哪些方法计算文件的md5&#xff01; 文章目录 一. linux系统有哪些方法计算文件的md5&#xff01;1. 使用 md5sum 命令(推荐)示例&#xff1a;输出&#xff1a;使用方法&#xff1a; 2. 使用 openssl 命令计算MD5值&#xff1a;输出&#xff1a;使用方法&#xff1…...

css vue vxe-text-ellipsis table 实现多行文本超出隐藏省略

分享 vxe-text-ellipsis table grid 多行文本溢出省略的用法 正常情况下如果需要使用文本超出隐藏&#xff0c;通过 css 就可以完成 overflow: hidden; text-overflow: ellipsis; white-space: nowrap;但是如果需要实现多行文本溢出&#xff0c;就很难实现里&#xff0c;谷歌…...

构建现代Web应用:FastAPI、SQLModel、Vue 3与Axios的结合使用

FastAPI介绍 FastAPI是一个用于构建API的现代、快速&#xff08;高性能&#xff09;的Web框架&#xff0c;使用Python并基于标准的Python类型提示。它的关键特性包括快速性能、高效编码、减少bug、智能编辑器支持、简单易学、简短代码、健壮性以及标准化。FastAPI自动提供了交互…...

图像边界填充算法详解与Python实现

目录 图像边界填充算法详解与实现1. 基础概念1.1 边界填充的意义与应用场景1.2 常见填充策略概览2. 零填充算法(Zero Padding)2.1 理论介绍2.2 Python实现及代码详解2.3 案例分析3. 镜像填充算法(Mirror Padding)3.1 理论介绍3.2 Python实现及代码详解3.3 案例分析4. 重复填…...

中兴机顶盒B860AV1.1刷机固件升级和教程「适用4/8G版」

准备工作&#xff1a; TTL 线&#xff08;CH340G 按系统版本找到要对应驱动&#xff09;下载 putty 软件拆开电视盒接好 TTL 线&#xff08;2、5、6 针脚对应GND、RX、TX&#xff09;在资源管理器的端口选项下找到 CH340G&#xff0c;记住端口号&#xff08;如 COM4&#xff0…...

JVM 性能调优 -- CMS 垃圾回收器 GC 日志分析【Full GC】

前言&#xff1a; 上一篇我们分析了 Minor GC 的发生过程&#xff0c;因为 GC 日志没有按我们预估的思路进行打印&#xff0c;其中打印了 CMS 垃圾回收器的部分日志&#xff0c;本篇我们就来分析一下 CMS 垃圾收集日志。 JVM 系列文章传送门 初识 JVM&#xff08;Java 虚拟机…...

重塑视频新语言,让每一帧都焕发新生——Video-Retalking,开启数字人沉浸式交流新纪元!

模型简介 Video-Retalking 模型是一种基于深度学习的视频再谈话技术&#xff0c;它通过分析视频中的音频和图像信息&#xff0c;实现视频角色口型、表情乃至肢体动作的精准控制与合成。这一技术的实现依赖于强大的技术架构和核心算法&#xff0c;特别是生成对抗网络&#xff0…...

C#中面试的常见问题001

1、c#访问修饰符有哪些 public&#xff1a;公共访问级别&#xff0c;成员可以被任何其他代码访问。private&#xff1a;私有访问级别&#xff0c;成员只能在定义它的类内部访问。protected&#xff1a;受保护的访问级别&#xff0c;成员可以被定义它的类及其子类访问。interna…...

webGis 气象站点数据解析渲染

1.站点数据说明 1.1 数据来源 站点数据来源多样。 1.2数据传输 实现前端的展示&#xff0c;数据传输的方式有&#xff1a; json等等 1.2数据格式 let arr [{ lat:1,//经纬度 lng:1, value:2//值 },{},...] 1.3站点数据转格点数据 turf.interpolate克里金插值qgis等ID…...

Vue3+Typescript+Axios+.NetCore实现导出Excel文件功能

前端代码 //导出Excel const exportMaintenanceOrderSettlementItemExcelClick async () > {let url ${VITE_APP_API_URL}/api/app/maintenance/settlement-service-item/${currentMaintenanceOrderId.value}/${currentMaintenanceOrderSettlementRow.value.id};let file…...

专属主机服务器和ECS服务器有什么区别?

‌专属主机服务器和ECS服务器的主要区别在于资源隔离、计费方式、管理权限等方面。‌ 资源隔离 ‌专属主机服务器‌&#xff1a;用户可以独享整台物理服务器资源&#xff0c;与其他租户的服务器物理隔离。这意味着用户不需要与其他租户共享物理资源&#xff0c;可以获取服务器…...

MySQL索引与分区:性能优化的关键

在开发过程中&#xff0c;随着数据量的不断增长&#xff0c;MySQL 查询的性能问题会逐渐显现。特别是在大数据量下&#xff0c;查询变得越来越慢&#xff0c;甚至可能导致系统崩溃。为了优化查询&#xff0c;MySQL 提供了 分区&#xff08;Partitioning&#xff09; 和 索引&am…...

VUE项目部署服务器之后刷新页面异常

情况&#xff1a; vue项目在本地完美运行&#xff0c;经过npm run build之后把dist目录上传到服务后。只有访问文件跟目录可以运行&#xff0c;但刷新之后会找不到相应的页面。 网上都说是hository路由的问题导致&#xff0c;需要修改成hash模式。如果不想修改为hash模式&…...

【实验13】使用预训练ResNet18进行CIFAR10分类

目录 1 数据处理 1.1 数据集介绍 1.2数据处理与划分 2 模型构建- Pytorch高层API中的Resnet18 3 模型训练 4 模型评价 5 比较“使用预训练模型”和“不使用预训练模型”的效果&#xff1a; 6 模型预测 7 完整代码 8 参考链接 1 数据处理 1.1 数据集介绍 数据规模&…...

如何将 GitHub 私有仓库(private)转换为公共仓库(public)

文章目录 如何将 GitHub 私有仓库转换为公共仓库步骤 1: 登录 GitHub步骤 2: 导航到目标仓库步骤 3: 访问仓库设置步骤 4: 更改仓库可见性步骤 5: 确认更改步骤 6: 验证更改注意事项 如何将 GitHub 私有仓库转换为公共仓库 在软件开发领域&#xff0c;GitHub 是一个广受欢迎的…...

进制的问题

蓝桥2015某题 计算数字x在进制p 下的各位数字之和 ​ int calc(int x,int p) {int res0;while(x){resx%p;//取当前位累加x/p;//去掉最低位}return res; }​...

【配置】如何下载和配置Android studio?

下载Android Studio 1、下载链接 https://developer.android.google.cn/studio?hlzh-cn​​​​​​​​​​​​​​​​​​​​ 注意&#xff1a;下载的时候要关闭代理服务器 2、安装软件 根据提示进行安装 3、配置proxy 这里建议配置代理而不是配置国内镜像源 所以…...

CA系统(file.h---申请认证的处理)

#pragma once #ifndef FILEMANAGER_H #define FILEMANAGER_H #include <string> namespace F_ile {// 读取文件&#xff0c;返回文件内容bool readFilename(const std::string& filePath);bool readFilePubilcpath(const std::string& filePath);bool getNameFro…...

Redis开发04:Redis的INFO信息解析

命令解释redis_versionRedis 的版本号&#xff0c;这里是 3.2.100。redis_git_sha1Redis 使用的 Git SHA1 校验值&#xff0c;表示当前代码的版本。redis_git_dirty如果 Redis 当前运行的代码是脏版本&#xff08;未提交的修改&#xff09;&#xff0c;该值为 1&#xff0c;否则…...

《Learn Three.js》学习(2)构建Three.js基本组件

前言&#xff1a; 本章将了解内容包括Three中的主要组件&#xff1b;THERE.SCENE对象的作用&#xff1b;几何图形和格网如何关联&#xff1b;区别正射/透视投影摄像机 基础理论知识&#xff1a; Three.scene&#xff08;场景图&#xff09;保存所有对象、光源和渲染所需的其他…...

VLLM 格式化LLM输出

文章目录 前言guided_jsonguided_choiceguided_regexguided_grammar总结 前言 vllm OpenAI Compatible Server 提供了格式化LLM输出的能力&#xff0c;默认的格式化解码后端应该是outlines 目前提供了四个参数来控制格式化输出&#xff0c;分别是&#xff1a; guided_json: …...

Java篇——Java通过JNA调用c++库时传参含有结构体时数据错乱的解决办法

Java通过JNA调用c库时传参含有结构体时&#xff0c;只继承Structure是不够的&#xff0c;还需要实现Structure.ByValue&#xff0c;或者强制指定结构体字节对齐。示例如下&#xff1a; 1、c库中的结构体定义&#xff1a; 2、java中结构体定义&#xff1a; 3、java中调用 如果没…...

sql分类

SQL&#xff08;Structured Query Language&#xff09;是一种用于管理和操作关系数据库管理系统&#xff08;RDBMS&#xff09;的编程语言。SQL 可以分为几个主要类别&#xff0c;每个类别都有其特定的用途和功能。以下是 SQL 的主要分类&#xff1a; 1. 数据定义语言&#x…...

LayaBox1.8.4实现战争迷雾效果

实现思路&#xff1a; 和Unity实现思路一样&#xff0c;可看我写的下面的一篇文章 战争迷雾FogOfWar---Unity中实现-CSDN博客 根据碰撞点可以计算出需要透明的位置&#xff0c;怎样计算如下&#xff1a; 根据迷雾mesh的长宽和纵向横向的的像素数可以得出&#xff0c;每个小方…...

Python打包元数据困境:约束的重要性

在Python社区中&#xff0c;一项旨在建立新的通用锁文件标准的努力正在展开&#xff0c;这一努力主要在Python讨论论坛上进行。此倡议凸显了创建一个让所有人都满意的标准化方案的难度。不同Python打包工具对锁文件应有的形态和用途有着略微不同的理解。然而&#xff0c;在这些…...

第29天 MCU入门

目录 MCU介绍 MCU的组成与作用 电子产品项目开发流程 硬件开发流程 常用元器件初步了解 硬件原理图与PCB板 常见电源符号和名称 电阻 电阻的分类 贴片电阻的封装说明&#xff1a; 色环电阻的计算 贴片电阻阻值计算 上拉电阻与下拉电阻 电容 电容的读数 二极管 LED 灯电路 钳位作…...

三分钟快速掌握——Linux【vim】的使用及操作方法

一、vim的使用 vim是一个文本编辑器 非常小巧轻便 1.1如何进入vim编辑器 方法一&#xff1a; 首先使用touch 1.c 创建一个源文件 然后使用vim 1.c进入 方法二&#xff1a; 直接使用指令 vim 2.c 会直接创建一个2.c的源文件 退出时记得保存&#xff08;使用wq或者x&am…...

安达发|制造业APS智能优化排产软件的四类制造模型解决方案

在制造业中&#xff0c;APS&#xff08;高级计划和排程系统&#xff09;智能优化排产软件的应用越来越广泛。它通过集成先进的算法和模型&#xff0c;帮助企业提高生产效率、降低成本并提升客户满意度。针对不同类型的生产需求&#xff0c;APS软件提供了四类制造模型解决方案&a…...

屏幕分辨率|尺寸|颜色深度指纹修改

一、前端通过window.screen接口获取屏幕分辨率 尺寸 颜色深度&#xff0c;横屏竖屏信息。 二、window.screen c接口实现&#xff1a; 1、third_party\blink\renderer\core\frame\screen.idl // https://drafts.csswg.org/cssom-view/#the-screen-interface[ExposedWindow ] …...

Mac安装及合规无限使用Beyond Compare

文章目录 Beyond CompareBeyond Compare简介Beyond Compare安装Beyond Compare到期后继续免费使用 Beyond Compare Beyond Compare简介 Beyond Compare 是一款由 Scooter Software 开发的文件和文件夹比较工具。它主要用于对比两个文件或文件夹之间的差异&#xff0c;并支持文…...

记录一次 k8s 节点内存不足的排查过程

背景&#xff1a;前端服务一直报404&#xff0c;查看k8s日志&#xff0c;没发现报错&#xff0c;但是发现pods多次重启。 排查过程&#xff1a; 查看pods日志&#xff0c;发现日志进不去。 kubectrl logs -f -n weave pod-name --tail 100查看pod describe kubectl describ…...

方差分析、相关分析、回归分析

第一章&#xff1a;方差分析 1.1 方差分析概述 作用: 找出关键影响因素&#xff0c;并进行对比分析&#xff0c;选择最佳组合方案。影响因素: 控制因素&#xff08;人为可控&#xff09;和随机因素&#xff08;人为难控&#xff09;。控制变量的不同水平: 控制变量的不同取值…...