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

C语言经典100例

文章目录

  • 前言
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 55
  • 56
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

前言

  • 以下题目大部分来自于C语言经典100例

1

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include<stdio.h>int main() {int g,s,b;int count = 0; // 计算的个数for (g = 1; g <= 4; g++) {for (s = 1; s <= 4; s++) {for (b = 1; b <= 4; b++) {if (g != s && g!= b && s && b){printf("%d,%d,%d\n",g,s,b);count++;}}}}printf("count : %d\n",count);return 0;
}

2

题目:
企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%;
高于100万元时,超过100万元的部分按1%提成。
从键盘输入当月利润I,求应发放奖金总数?

#include<stdio.h>int main()
{double profit;double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;printf("你的净利润是:");scanf("%lf",&profit);bonus1=100000*0.1;bonus2=bonus1+100000*0.075;bonus4=bonus2+200000*0.05;bonus6=bonus4+200000*0.03;bonus10=bonus6+400000*0.015;if(profit<=100000) {bonus=profit*0.1;} else if(profit<=200000) {bonus=bonus1+(profit-100000)*0.075;} else if(profit<=400000) {bonus=bonus2+(profit-200000)*0.05;} else if(profit<=600000) {bonus=bonus4+(profit-400000)*0.03;} else if(profit<=1000000) {bonus=bonus6+(profit-600000)*0.015;} else if(profit>1000000) {bonus=bonus10+(profit-1000000)*0.01;}printf("提成为:bonus=%lf",bonus);printf("\n");
}

3

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

#include<stdio.h>int main ()
{int  i, j, m, n, x;for (i = 1; i < 168 / 2 + 1; i++){if (168 % i == 0){j = 168 / i;if ( i > j && (i + j) % 2 == 0 && (i - j) % 2 == 0){m = (i + j) / 2;n = (i - j) / 2;x = n * n - 100;printf ("%d + 100 = %d * %d\n", x, n, n);printf ("%d + 268 = %d * %d\n", x, m, m);}}}return 0;
}

4

题目:输入某年某月某日,判断这一天是这一年的第几天?

#include<stdio.h>int main()
{int year,month,day; int is_year(int);int m[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};printf("input year month day: ");fflush(stdout);scanf("%d %d %d",&year,&month,&day);int i;for(i = 1;i < month;i++)day += m[i];if(is_year(year) && month >= 2)day++;printf("这一天是这一年的第%d天\n",day);return 0;
}int is_year(int y){return (((y%4==0)&&(y%100!=0))||(y%400==0));
}

5

题目:输入三个整数x,y,z,把这三个数由小到大输出。

#include<stdio.h>int main()
{int x,y,z,t;scanf("%d %d %d",&x,&y,&z);if(x > y){t = x;x = y;y = t;}if(x > z){t = x;x = z;z = t;}if(y > z){t = y;y = z;z = t;}printf("%d %d %d\n",x,y,z);return 0;
}

6

题目:用*号输出字母C的图案。

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

7

题目:输出9*9乘法表。

#include<stdio.h>int main()
{int n, i, j;scanf("%d", &n);for (i = 1; i <= n; i++) {for (j = 1; j <= i; j++) {printf("%d*%d=%d ", j, i, i * j);}printf("\n");}return 0;
}

8

题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
(斐波那契数列)

#include<stdio.h>int main()
{int cnt;int cnt1 = 1, cnt2 = 1;printf("第1个月:%d\n", cnt1);printf("第2个月:%d\n", cnt2);for (int i = 3; i < 41; ++i){cnt = cnt1 + cnt2;printf("第%d个月:%d\n", i, cnt);cnt1 = cnt2;cnt2 = cnt;}return 0;
}

9

题目:判断101到200之间的素数。
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

#include <stdio.h>
#include <math.h>
int main()
{int i, j;for (i = 101; i <= 200; i++) {for (j = 2; j <= sqrt(i); j++) {if (i % j == 0)break;}if (j > sqrt(i))printf("%d ", i);}return 0;
}

10

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153 = 1的三次方+5的三次方+3的三次方。

#include<stdio.h>int main()
{int i, g,s,b;for (i = 100; i <= 999; i++) {g = i % 10;s = i / 10 % 10;b = i / 100 % 10;if (i == g * g * g + s * s * s + b * b * b) printf("%d ", i);}return 0;
}

11

题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。

分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n。重复执行。
(2)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

#include<stdio.h>int main()
{int i;int n = 90;printf("%d=", n);for (i = 2; i <= n; i++) {while (n % i == 0) {printf("%d", i);n = n / i;if (n != 1)printf("*");}}return 0;
}

12

题目:利用条件运算符的嵌套:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

#include<stdio.h>int main()
{int score;char rank;scanf("%d", &score);rank = (score >= 90) ? 'A' : ((score >= 60) ? 'B' : 'C');printf("%c", rank);return 0;
}
#include<stdio.h>#define GRAND(x) (x >= 90) ? 'A' : (x > 60 ? 'B' : 'C')int main()
{int score;while (~scanf("%d", &score)) {printf("学习成绩为:%c\n", GRAND(score));}return 0;
}

13

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
最小公倍数 * 最大公约数 = m * n

#include<stdio.h>int main()
{int m, n, r;scanf("%d %d", &m, &n);int tmp = m * n;r = m % n;while (r != 0) {m = n;n = r;r = m % n;}printf("最大公约数为%d,最小公倍数为%d", n, tmp / n);return 0;
}

14

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#include<stdio.h>int main()
{int letter = 0;int space = 0;int figure = 0;int other = 0;char ch;while ((ch = getchar()) != '\n') {if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')letter++;else if (ch == ' ')space++;else if (ch >= '1' && ch <= '9')figure++;elseother++;}printf("字母 = %d, 数字 = %d, 空格 = %d, 其他 = %d\n", letter, figure, space, other);return 0;
}

15

题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

#include<stdio.h>int main()
{int a, n;scanf("%d %d", &a, &n);int s = 0;int tmp = a;for (int i = 0; i < n; i++){s += tmp;tmp = tmp * 10 + a;}printf("a + aa + ... = %d", s);return 0;
}

16

题目:一个数如果恰好等于它的真因子之和,这个数就称为"完数"。例如6=1+2+3。编程找出1000以内的所有完数。
Tips:找数n的因子只需要找到n/2(n/2-n的数是n的1-2倍,所以当大于n/2时,不会有因数)

#include<stdio.h>int main()
{int a[1000];for (int i = 1; i < 1000; ++i){int sum = 0, k = 0;for (int j = 1; j <= i / 2; ++j){if (i%j == 0){sum += j;a[k++] = j;}}if (i == sum){printf("%d = %d", i, a[0]);for (int m = 1; m < k; ++m){printf(" + %d", a[m]);}printf("\n");}}return 0;
}

17

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

#include<stdio.h>int main()
{float height = 100;float sum = height;for (int i = 0; i < 9; ++i){height /= 2;sum += 2 * height;}height /= 2;printf("共经过%f米\n", sum);printf("第10次反弹%f米\n", height);return 0;
}
int main() {float m = 100.0; // 米int count = 10; //共有10次float sum = m; count--; // 经过的米数,所以次数要减一次float f = 0;   // 第10次反弹的高度while (count--) { // 已经经过了一次,所以就是9次f = m / 2;  // 每次下落一次除2sum += m;   // 米数增加m /= 2;}printf("第10次落地时,共经过%f米,第10次反弹高%f米\n", sum, f);return 0;
}

18

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。求第一天共摘了多少。

#include<stdio.h>int main() {int day;int peach = 1; // 第十天的桃for (day = 9; day >= 1; day--) {peach = (peach + 1) * 2;}printf("第一天共摘:%d", peach);return 0;
}

19

题目:打印出如下图案(菱形)。

   *********
****************
#include<stdio.h>int main() {int i, j;int n = 4;scanf("%d", &n);// 上半部分for (i = 0; i < n; i++) {for (j = 0; j < n - i - 1; j++)printf(" ");for (j = 0; j < 2 * i + 1; j++)printf("*");printf("\n");}// 下半部分for (i = n - 1; i > 0; i--) {for (j = n - 1; j >= i; j--)printf(" ");for (j = 2 * (i - 1); j >= 0; j--)printf("*");printf("\n");}return 0;
}

20

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

#include<stdio.h>int main() {float s = 0;int i = 0,t;int fenmu = 1,fenzi = 2;for (i = 0;i < 20;i++) {t = fenzi; // 提前保存好上一项的分子s += (float)fenzi / fenmu; // 计算和fenzi = fenzi + fenmu; // 下一项的分子=上一项的分子和分母之和fenmu = t;// 分母=上一项的分子}printf("%f", s);// 32.660263return 0;
}

21

题目:求1+2!+3!+…+20!的和。

#include<stdio.h>int main() {int i, j;unsigned long long sum = 0, ret = 1;for (i = 1; i <= 20; i++) {ret = 1;for (j = 1; j <= i; j++) {ret *= j;}sum += ret;}printf("%llu", sum);return 0;
}

22

题目:利用递归方法求5!。

#include<stdio.h>int fun(int n) {if (n == 1)return 1;elsereturn n * fun(n - 1);
}
int main() {int n = 5;printf("5的阶乘为:%d\n",fun(n));return 0;
}

23

题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

#include<stdio.h>void fun(int n) {if (n == 1){char tmp = getchar();putchar(tmp);}else{char tmp = getchar();fun(n - 1);putchar(tmp);}
}int main() {fun(5);return 0;
}

24

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

#include<stdio.h>int age(int n) {if (n == 1)return 10;elsereturn age(n - 1) + 2;
}int main() {printf("第5个人是:%d\n", age(5));return 0;
}

25

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

#include<stdio.h>void fun(int n, int* ret) {if (n == 0)return;else {++(*ret);printf("%d ", n % 10);fun(n / 10, ret);}
}int main() {int n = 0;scanf("%d", &n);int ret = 0;fun(n, &ret);printf("\n该数是%d位\n", ret);return 0;
}

26

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

#include<stdio.h>int main() {int n;while (~scanf("%d", &n)) {if ((n / 10000 == n % 10) && (n / 1000 % 10 == n / 10 % 10))printf("该五位数是回文数\n");elseprintf("该五位数不是回文数\n");}return 0;
}

27

题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

#include<stdio.h>int main()
{char c1, c2;scanf("%c", &c1);switch (c1){case 'M':printf("Monday");break;case 'T':getchar();scanf("%c", &c2);if (c2 == 'u')printf("Tuesday");elseprintf("Thursday");break;case 'W':printf("Wednesday");break;case 'F':printf("Friday");break;case 'S':getchar();scanf("%c", &c2);if (c2 == 'a')printf("Saturday");elseprintf("Sunday");break;}return 0;
}

28

题目:删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。

例如:字符串"aaaaaaaaaaaaaaaaaobfowbfwfwn",删除其中的所有a字母

#include<stdio.h>
#include<string.h>int main() {char str[256] = { 0 };scanf("%s", str);int i, j = 0, len = strlen(str);char c;getchar();scanf("%c", &c);for (i = 0; i < len; i++) {if (str[i] == c) {for (j = i; j < len; j++) {str[j] = str[j + 1];}i = -1; // 注意}}printf("%s", str);return 0;
}

29

题目:判断一个数字是否为质数(素数)。

#include<stdio.h>
#include <math.h>int main()
{int n;scanf("%d", &n);int flag = 1;if (n <= 0)flag = 0;for (int i = 2; i < sqrt(n); ++i){if (n % i == 0){flag = 0;break;}}if (flag)printf("是素数");elseprintf("不是素数");return 0;
}

30

题目:字符串反转,如将字符串 “I am a student” 反转为 “tneduts a ma I”。

#include<stdio.h>int main() {void reverse(char*);char s[30] = "I am a student";reverse(s);puts(s);return 0;
}void reverse(char* s) {int i = 0;int len = strlen(s);int end = len - 1;char tmp;while (i < len / 2) {tmp = s[i];s[i] = s[end];s[end] = tmp;end--;i++;}
}

31

题目:求100~200中的素数。

#include<stdio.h>
#include <math.h>int main() {for (int i = 100; i <= 200; i++) {int flag = 1;for (int j = 2; j <= sqrt(i); j++) {if (i % j == 0) {flag = 0;break;}}if (flag)printf("%d ", i);}return 0;
}

32

题目:对10个数进行排序。(冒泡排序)

#include<stdio.h>int main() {int arr[10] = { 23, 2 ,27, 98, 234, 1 ,4, 90, 88, 34 };int i, j, tmp, flag = 0, n = sizeof(arr) / sizeof(arr[0]);for (i = 0; i < n - 1; i++) {flag = 1; // 假设数组本来就有序for (j = 0; j < n - 1 - i; j++) {if (arr[j] < arr[j + 1]) {tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;flag = 0;}}if (flag) break;}for (i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;
}

33

题目:求一个3*3矩阵对角线元素之和。

#include<stdio.h>int main()
{int a[3][3];for (int i = 0; i < 3; ++i){for (int j = 0; j < 3; ++j){scanf("%d", &a[i][j]);}}int sum = 0;for (int i = 0; i < 3; ++i){sum += a[i][i];}printf("%d", sum);return 0;
}

34

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。(二分查找)

#include<stdio.h>int main() {int arr[11] = { 1,2,3,4,5,6,7,8,9,10 };int i, j, len, n;len = sizeof(arr) / sizeof(arr[0]) - 1;scanf("%d", &n);int left = 0, right = len, mid;for (i = 0;i < len;i++) {mid = left + (right - left) / 2;if (arr[mid] < n)left = mid + 1;else if (arr[mid] > n)right = mid - 1;else {// 找到了for (j = len;j >= mid;j--) {arr[j] = arr[j - 1];}break;}}for (i = 0;i < sizeof(arr) / sizeof(arr[0]);i++)printf("%d ", arr[i]);return 0;
}

35

题目:将一个数组逆序输出。

#include<stdio.h>int main() {int arr[] = { 1,2,3,4,5,6,7,8,9 ,10 };int len = sizeof(arr) / sizeof(arr[0]);int i, j = len - 1, tmp;for (i = 0;i < len / 2;i++, j--) {tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}for (i = 0;i < len;i++) {printf("%d ", arr[i]);}return 0;
}

36

题目:输入3个数a,b,c,按大小顺序输出。

#include <stdio.h>// 法一:使用按位或来进行交换,普通的使用第三个变量交换略过
int main() {int a, b, c;scanf("%d %d %d", &a, &b, &c);if (a < b) {b = a ^ b;a = a ^ b;b = a ^ b;}if (a < c) {c = a ^ c;a = a ^ c;c = a ^ c;}if (b < c) {c = b ^ c;b = b ^ c;c = b ^ c;}printf("%d %d %d\n", a, b, c);return 0;
}// 法二:这样写更简洁一些
#define SWAP(x,y) (x)^=(y);(y)^=(x);(x)^=(y);
int main() {int a, b, c;scanf("%d %d %d", &a, &b, &c);if (a < b)SWAP(a, b);if (a < c)SWAP(a, c);if (b < c)SWAP(b, c);printf("%d %d %d\n", a, b, c);return 0;
}

37

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

#include <stdio.h>int main() {int arr[10] = { 7,2,8,1,5,10,4,3,9,6 };int i = 0, min = arr[0], max = arr[0], tmp, len = sizeof(arr) / sizeof(arr[0]);// 记录最大的与最小的下标int maxi, mini;for (i = 0; i < len;i++) {if (arr[i] > max) {max = arr[i];maxi = i;}if (arr[i] < min) {min = arr[i];mini = i;}}// 交换// 最大的与第一个交换tmp = arr[maxi];arr[maxi] = arr[0];arr[0] = tmp;// 最小的与最后一个元素交换tmp = arr[mini];arr[mini] = arr[len - 1];arr[len - 1] = tmp;for (i = 0; i < 10;i++) {printf("%d ", arr[i]);}return 0;
}

38

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

#include <stdio.h>// 法一:
int main()
{int i, n, m;printf("要输入的数字个数:");scanf("%d", &n);int* num = (int*)malloc(sizeof(int) * n);if (num == NULL)return 0;printf("输入数字:");for (i = 0;i < n;i++)scanf("%d", &num[i]);printf("再输入要旋转几次:");scanf("%d", &m);m %= n;for (i = 0; i < m;i++) {int* p = num + n - 1;int tmp = *p;   // 保存最后一位while (p > num) { // 移动数据*p = *(p - 1);p--;}*p = tmp;}for (i = 0;i < n;i++)printf("%d ", num[i]);free(num);return 0;
}// 法二:
void reverse(int* nums, int begin, int end) {while (begin < end) {int tmp = nums[begin];nums[begin] = nums[end];nums[end] = tmp;begin++;end--;}
}
int main()
{int i, n, m;printf("要输入的数字个数:");scanf("%d", &n);int* num = (int*)malloc(sizeof(int) * n);if (num == NULL)return 0;printf("输入数字:");for (i = 0;i < n;i++)scanf("%d", &num[i]);printf("再输入要旋转几次:");scanf("%d", &m);m %= n;reverse(num, 0, n - m - 1);reverse(num, n - m, n - 1);reverse(num, 0, n - 1);for (i = 0;i < n;i++)printf("%d ", num[i]);free(num);return 0;
}

39

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

int main() {int n, i = 0;printf("输入n个人:");scanf("%d", &n);int* a = (int*)malloc(sizeof(int) * n);//编号for (int i = 0; i < n; ++i)a[i] = i + 1;int cut = 0; // 报数i = 0;int num = n;  // 未挂人数while (num > 1) {if (a[i]) {cut++;if (cut == 3) {a[i] = 0;cut = 0;num--;}}i++;if (i == n)i = 0;}for (i = 0;i < n;i++)if (a[i])printf("最后留下来的是%d\n", a[i]);free(a);a = NULL;return 0;
}// 法二:
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8 };int i = 0;int j = 0;int count = 0;int len = sizeof(arr) / sizeof(int);for (j = 0; j < 5; j++){printf("第%d回结束之后:", j + 1);for (i = 0; i < len; i++){if (arr[i] != 0){count++;if (count % 3 == 0){arr[i] = 0;continue;}printf("%-4d", arr[i]);}}printf("\n");}return 0;
}

40

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>int main() {int my_strlen(char*);char* str = (char*)malloc(sizeof(char) * 100);scanf("%s", str);printf("字符串长度为:%d\n", my_strlen(str));free(str);str = NULL;return 0;
}int my_strlen(const char* s) {assert(s);int count = 0;while (*s++ != '\0') count++;return count;
}

41

题目:编写input()和output()函数输入,输出5个学生的数据记录。

#include <stdio.h>
#include <stdlib.h>struct Stu {char name[20];char sex[3];int age;
};void input(struct Stu** s, int* n) {printf("请输入学生姓名、性别、年龄:\n");for (int i = 0; i < *n;i++)scanf("%s %s %d", (*s + i)->name, &(*s + i)->sex, &(*s + i)->age);
}
void output(struct Stu** s, int* n) {printf("打印学生姓名、性别、年龄:\n");for (int i = 0; i < *n;i++)printf("%s %s %d\n", (*s + i)->name, (*s + i)->sex, (*s + i)->age);
}
int main() {int n;printf("请输入要几输入的几位:");scanf("%d", &n);struct Stu* s = (struct Stu*)malloc(sizeof(struct Stu) * n);input(&s, &n);output(&s, &n);free(s);s = NULL;return 0;
}

42

题目:创建一个链表。

#include <stdio.h>
#include <malloc.h>struct LNode
{int data;struct LNode *next;
};LNode* createList(int n)
{LNode *list, *p, *q;list = (LNode*)malloc(sizeof(LNode));list->next = nullptr;q = list;for (int i = 0; i < n; ++i){p = (LNode*)malloc(sizeof(LNode));printf("请输入第%d个元素的值:", i + 1);scanf("%d", &(p->data));p->next = nullptr;q->next = p;q = p;}return list;
}void print(LNode* list)
{printf("链表各值为:\n");LNode* p = list->next;while (p != nullptr){printf("%d\n", p->data);p = p->next;}
}int main()
{LNode* list = nullptr;int n;scanf("%d", &n);list = createList(n);print(list);return 0;
}

43

题目:反向输出一个链表。

#include <stdio.h>
#include <malloc.h>struct LNode
{int data;struct LNode *next;
};LNode* createList(int n)
{LNode *head, *p, *q;head = (LNode*)malloc(sizeof(LNode));printf("请输入第1个元素的值:");scanf("%d", &(head->data));head->next = nullptr;q = head;for (int i = 1; i < n; ++i){p = (LNode*)malloc(sizeof(LNode));printf("请输入第%d个元素的值:", i + 1);scanf("%d", &(p->data));p->next = q;q = p;}return q;
}void print(LNode* list)
{printf("链表各值为:\n");LNode* p = list;while (p != nullptr){printf("%d\n", p->data);p = p->next;}
}int main()
{int n;scanf("%d", &n);LNode* list = createList(n);print(list);return 0;
}

44

题目:连接两个链表。

#include <stdio.h>
#include <malloc.h>struct LNode
{int data;struct LNode *next;
};LNode* createList(int n)
{LNode *list, *p, *q;list = (LNode*)malloc(sizeof(LNode));list->next = nullptr;q = list;for (int i = 0; i < n; ++i){p = (LNode*)malloc(sizeof(LNode));printf("请输入第%d个元素的值:", i + 1);scanf("%d", &(p->data));p->next = nullptr;q->next = p;q = p;}return list;
}void print(LNode* list)
{printf("链表各值为:\n");LNode* p = list->next;while (p != nullptr){printf("%d\n", p->data);p = p->next;}
}void connect(LNode* list1, LNode* list2)
{LNode* p;for (p = list1; p->next != nullptr; p = p->next){continue;}p->next = list2->next;free(list2);
}int main()
{int n;scanf("%d", &n);LNode* list1 = createList(n);LNode* list2 = createList(n);connect(list1, list2);print(list1);return 0;
}

45

题目:输入一个整数,并将其反转后输出。

#include<stdio.h>int main() {int n, newn = 0, x;scanf("%d", &n);while (n) {x = n % 10;newn = newn * 10 + x;n /= 10;}printf("反转的数为:%d", newn);return 0;
}

46

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n(利用指针函数)。

#include<stdio.h>double sumup(int n, int flag) {double sum = 0;if (flag == 2) {for (int i = flag;i <= n;i += 2) {sum += (double)1 / i;}} else {for (int i = flag;i <= n;i += 2) {sum += (double)1 / i;}}return sum;
}int main() {int n, flag = 0;double (*psum)(int, int);scanf("%d", &n);if (n % 2 == 0) { // n为偶数psum = sumup;flag = 2;}else { // n为奇数psum = sumup;flag = 1;}printf("%lf", (*psum)(n, flag));return 0;
}

47

题目:找到年龄最大的人,并输出。

#include<stdio.h>
#include<stdlib.h>typedef struct man {char name[20];int  age;
}man;int main() {man person[] = { {"zhanagsan",18},{"lisi",30},{"wangwu",25} };man* p = person, * q = NULL;int max = person[0].age;int count = sizeof(person) / sizeof(person[0]);while (count--) {if (max < p->age) {max = p->age;q = p;}p++;}printf("年龄最大的人是%s,%d", q->name, q->age);return 0;
}

48

题目:字符串排序。

#include <stdio.h>
#include <stdlib.h>int compare(const void* a, const void* b) {return strcmp(*(const char**)a, *(const char**)b);
}int main() {// 定义字符串数组char* str[] = { "ac", "abc", "zz", "yyy", NULL };// 计算数组大小(忽略 NULL)int n = 0;while (str[n] != NULL) n++;// 使用 qsort 排序字符串指针数组qsort(str, n, sizeof(char*), compare);for (int i = 0; i < n; i++)printf("%s ", str[i]);return 0;
}

49

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子?

#include <stdio.h>int main() {int N = 1;  // 从1开始检查最小桃子数while (1) {int peaches = N;int valid = 1;// 模拟每只猴子分桃子的过程for (int i = 0; i < 5; i++) {if ((peaches - 1) % 5 != 0) {valid = 0;break;}peaches = (peaches - 1) / 5 * 4;}// 如果条件满足,输出结果if (valid) {printf("海滩上原来最少有 %d 个桃子。\n", N);break;}// 否则,增加N继续检查N++;}return 0;
}

50

题目:809*??=800*??+9*?? 其中??代表的两位数, 809*??为四位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

#include <stdio.h>int main() {for (int i = 10;i <= 99;i++) {if ((809 * i >= 1000 && 809 * i <= 10000) && (8 * i <= 99 && 9 * i >= 100)) {printf("%d = %d*%d + %d*%d", 809 * i, 800, i, 9, i); // 9708 = 800*12 + 9*12}}return 0;
}

51

题目:八进制转换为十进制。

#include <stdio.h>// 法一
int main()
{int n;scanf("%o", &n);printf("%d", n);return 0;
}// 法二:
#include <stdio.h>
#include <string.h>int main()
{char s[50];scanf("%s", s);int n = 0;for (int i = 0; i < strlen(s); i++){n = n * 8 + s[i] - '0';}printf("%d", n);return 0;
}

52

题目:求0—7所能组成的奇数个数。

#include <stdio.h>int main()
{int sum = 0, cnt = 0;for (int i = 0; i < 8; ++i){if (i == 0){cnt = 4;}else if (i == 1){cnt *= 7;}else{cnt *= 8;}sum += cnt;printf("%d位数为奇数的个数为%d\n", i + 1, cnt);}printf("总数为%d\n", sum);return 0;
}

53

题目:一个偶数总能表示为两个素数之和。

#include<stdio.h>
#include <math.h>int ver(int num)
{for (int i = 2; i <= sqrt(num); ++i){if (num % i == 0){return 0;}}return 1;}int main()
{int n;scanf("%d", &n);if (n % 2 != 0 || n == 2){printf("请输入一个大于2的偶数!\n");}else{for (int i = 2; i < n; i++){if (ver(i) && ver(n - i)) //  {printf("%d = %d + %d\n", n, i, n - i);return 0;}}}return 0;
}

55

题目:判断一个素数能被几个9整除。

#include <stdio.h>
#include <math.h>int is_prime(int num)
{for (int i = 2; i < sqrt(num); i++){if (num % i == 0)return 0;}return 1;
}int main()
{int x,i;scanf("%d", &i);if (is_prime(i)) {for (x = 9; x % i != 0; x = x * 10 + 9)if (x > 1000000000)return 0;printf("素数%d可以被%d整除\n", i, x); // 素数13可以被999999整除}return 0;
}

56

题目:两个字符串连接。

#include<stdio.h>
#include <assert.h>char* my_strcat(char* s1, const char* s2) {assert(s1 && s2);int i = 0;int len = strlen(s1);while (s1[len++] = s2[i++]);return s1;
}int main() {char str1[20] = "abc";char str2[10] = "def";printf("%s", my_strcat(str1, str2));return 0;
}

58

题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

#include<stdio.h>int main() {int n, count, j;printf("请输入7个数(1—50)的整数值:");count = 0;while(count < 7){scanf("%d", &n);if (n < 1 || n > 50) {printf("请输入7个数(1—50)的整数值:");}else{for (j = 0;j < n;j++)printf("*");count++;printf("\n");}}return 0;
}

59

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

#include<stdio.h>void swap(int *a, int *b)
{int tmp = *a;*a = *b;*b = tmp;
}int main() {int n, i = 0, a[4];scanf("%d", &n);for (i = 0;i < 4;i++) {a[3 - i] = n % 10;n /= 10;a[3 - i] += 5; // 每位数字都加上5a[3 - i] %= 10; // 然后用和除以10的余数代替该数字}swap(&a[0], &a[3]); // 再将第一位和第四位交换swap(&a[1], &a[2]); // 第二位和第三位交换for (i = 0;i < 4;i++) {printf("%d", a[i]); /* 12349876*/}return 0;
}

60

题目:猜谜游戏。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>//设置猜的数字次数多少
#define NUM 10 void menu()
{printf("**********************\n");printf("******  1.play *******\n");printf("******  0.exit *******\n");printf("**********************\n");
}void game()
{int guess = 0;int ret = rand() % 100 + 1;int count = NUM;while (1){printf("你还有%d次机会!\n", count);printf("请猜数字(1~100):>");scanf("%d", &guess);if(guess < 1 || guess > 100){printf("输入错误,请重新猜数字!\n");continue;}else if (guess > ret){printf("猜大了!\n");}else if (guess < ret){printf("猜小了!\n");}else{printf("恭喜你,猜对了!\n");break;}count--;if (count == 0){printf("次数用完,正确的数字是%d\n", ret);break;}}
}
int main()
{int input = 0;srand((unsigned int)time(NULL));//生成随机数do{menu();printf("请选择:>");scanf("%d", &input);switch (input){case 1:game();break;case 0:printf("退出游戏!\n");break;default:printf("选择错误,请重新选择!\n");break;}} while (input);return 0;
}

61

题目:计算字符串中子串出现的次数。

#include<stdio.h>
#include<string.h>int main() {int len1, len2, i = 0, j = 0, count = 0;char* str1 = "abcdababcaacabc";char* str2 = "bc";len1 = strlen(str1);len2 = strlen(str2);while (i < len1 && j < len2) {if (str1[i] == str2[j]) {i++;j++;if (j == len2){j = 0;count++; // 次数++}continue;    // 如果想等就继续运行,不加这个i就会加两次}i++;}printf("%s出现的次数有%d\n", str2, count);return 0;
}

62

题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。

#include<stdio.h>
#include<stdlib.h>int main() {char c;// 打开文件FILE* pf = fopen("data.txt", "w+");if (pf == NULL) {perror("Open File fail!"); exit(-1);}// 输入文件内容c = getchar();while (c != '#') {fputc(c, pf);c = getchar();}// 关闭文件fclose(pf);pf = NULL;return 0;
}

63

题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>int main() {int i;FILE* pf = fopen("test", "w+");if (pf == NULL) {perror("Open File fail!");exit(-1);}char str[255] = "";scanf("%s", str);int len = strlen(str);// 将小写字母全部转换成大写字母for (i = 0;i < len;i++) {if (str[i] >= 'a' && str[i] <= 'z') {str[i] -= 32;// 直接输入到磁盘test中保存fputc(str[i], pf);}}// 关闭文件fclose(pf);pf = NULL;return 0;
}int main() {int i;FILE* pf = fopen("test", "w+");if (pf == NULL) {perror("Open File fail!");exit(-1);}char str[255] = "";scanf("%s", str);int len = strlen(str);// 将小写字母全部转换成大写字母for (i = 0;i < len;i++) {if (str[i] >= 'a' && str[i] <= 'z') {str[i] -= 32;}}fprintf(pf, "%s", str);// 关闭文件fclose(pf);pf = NULL;return 0;
}

64

题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
先创建a.txt写入xyz
再创建b.txt写入abc

#include <stdio.h>
#include <stdlib.h>
#include <string.h>FILE* open(char* s, char* mode) {FILE* p = fopen(s, mode);if (p == NULL) {perror("Open File fail!");exit(-1);}return p;
}void close(FILE* p) {fclose(p);p = NULL;
}void read(FILE* p, char* s) {fgets(s, 50, p);
}int cmp_char(const void* e1, const void* e2)
{return strcmp(e1, e2);
}void merge(char* s, int len) {qsort(s, len, sizeof(s[0]), cmp_char);
}int main() {// 有两个磁盘文件A和B 先创建a.txt写入xyz, 再创建b.txt写入abcFILE* pA = open("a.txt", "w+");fprintf(pA, "xyz");FILE* pB = open("b.txt", "w+");fprintf(pB, "abc");// 确保文件指针在开头rewind(pA);rewind(pB);// 读取取这两个文件中的数据到数组char strA[100], strB[50];read(pA, strA);read(pB, strB);// 要求把这两个文件中的信息合并(按字母顺序排列)strcat(strA, strB);int len = strlen(strA);merge(strA, len);// 打开文件cFILE* pC = open("c.txt", "w+");fprintf(pC, "%s", strA); // c.txt中已写入abcxyz// fputs(strA, pC);// 关闭文件close(pA);close(pB);close(pC);return 0;
}

65

题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

#include <stdio.h>
#include <stdlib.h>typedef struct Student
{int id;char name[20];int grade1;int grade2;int grade3;int averageGrade;
}Student;int main()
{Student stu[5];for (int i = 0; i < 5; ++i){scanf("%d %s %d %d %d", &stu[i].id, &stu[i].name, &stu[i].grade1, &stu[i].grade2, &stu[i].grade3);stu[i].averageGrade = (stu[i].grade1 + stu[i].grade2 + stu[i].grade3) / 3;}/* 输入1 a 10 20 302 b 20 30 403 c 30 40 504 d 40 50 605 e 50 60 70*/FILE* fp = fopen("stud.txt", "w");if (fp == NULL){perror("Open File fail!");exit(-1);}for (int i = 0; i < 5; ++i)fprintf(fp, "%d %s %d %d %d %d\n", stu[i].id, stu[i].name, stu[i].grade1, stu[i].grade2, stu[i].grade3, stu[i].averageGrade);/* 文件中输出1 a 10 20 30 202 b 20 30 40 303 c 30 40 50 404 d 40 50 60 505 e 50 60 70 60*/fclose(fp);fp = NULL;return 0;
}

相关文章:

C语言经典100例

文章目录 前言123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525355565859606162636465 前言 以下题目大部分来自于C语言经典100例 1 题目&#xff1a;有1、2、3、4个数字&#xff0c;能组成多少个互不相同且无重复数字的…...

利用 Jsoup 进行高效 Web 抓取与 HTML 处理

Jsoup 是一款 Java 的 HTML 解析器&#xff0c;可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API&#xff0c;可通过 DOM&#xff0c;CSS 以及类似于 JQuery 的操作方法来取出和操作数据。 官网&#xff1a;https://jsoup.org/ 中文文档&#xff1a;Jsou…...

线上问题——频繁 Full GC 问题的排查思路

文章目录 一、查看 GC 日志二、分析内存泄漏三、检查对象生命周期四、优化代码五、调整垃圾回收策略六、使用监控工具 一、查看 GC 日志 启用 GC 日志 在 Java 应用中&#xff0c;需要在启动参数中添加适当的参数来启用 GC 日志记录。可以使用-XX:PrintGCDetails、-XX:PrintGCD…...

ParrotOS,一个与kali类似的渗透测试操作系统

介绍 Parrot Security&#xff08;ParrotOS&#xff0c;Parrot&#xff09;是一个基于 Debian Stable 的免费开源 GNU/Linux 发行版&#xff0c;专为安全专家、开发人员和注重隐私的人设计。 它包括一个完整的便携式武器库&#xff0c;用于 IT 安全和数字取证操作。它还包括开…...

网络视频监控平台/安防监控/视频综合管理Liveweb视频汇聚平台解决方案

一、当前现状分析 当前视频资源面临以下问题&#xff1a; 1&#xff09;不同单位在视频平台建设中以所属领域为单位&#xff0c;设备品牌众多&#xff0c;存在的标准不一&#xff0c;各系统之间也没有统一标准&#xff1b; 2&#xff09;各单位视频平台建设分散、统筹性差&am…...

《Java核心技术I》Swing选择组件中的复选框

选择组件 除了输入&#xff0c;也需要选择组件&#xff0c;接下来介绍&#xff0c;复选框、单选按钮、选项列表以及滑块。 复选框 需要紧邻标签来说明其用途。 bold new JCheckBox("Bold"); 调用setSelected方法来选中或取消复选框 bold.setSelected(true); isSelec…...

ES6学习Generator 函数(生成器)(八)

这里写目录标题 一、基本概念二、代码三、Generator 函数的异步应用三级目录 一、基本概念 Generator 函数是 ES6 提供的一种异步编程解决方案&#xff0c;语法行为与传统函数完全不同&#xff0c;Generator 函数有多种理解角度。语法上&#xff0c;首先可以把它理解成&#x…...

练习题 最小栈

最小栈 最小栈 class MinStack {private Stack<Integer> stack;private Stack<Integer> minstack;public MinStack() {stacknew Stack<>();minstacknew Stack<>();}public void push(int val) {stack.push(val);if(minstack.empty()){minstack.push(…...

windows环境下pytorch安装踩坑

目录 1 前言2 安装Anaconda3 安装CUDA4 创建Python3.9环境5 安装Pytorch环境5.1 conda方式5.2 pip方式 6 验证是否安装成功7 注意事项7.1 no module named torch问题7.12 torch.cuda.is_available()返回False问题 8 最佳实践9 总结 1 前言 这两天由于要使用Genesis&#xff0c;…...

从图纸泄密到全面安全防护 —— 域智盾软件在设计公司的应用

从图纸泄密到全面安全防护 —— 域智盾软件在设计公司的应用 作为一家设计公司的老板&#xff0c;我深知设计图纸对公司来说有多么重要。每一份设计图纸不仅凝聚着我们团队的智慧和辛勤劳动&#xff0c;也代表着公司的技术创新和核心竞争力。 然而&#xff0c;前段时间的一次…...

【ELK】Filebeat采集Docker容器日志

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 介绍filebeat是如何工作的 使用部署filebeat 介绍 Filebeat 是一个用于转发和集中日志数据的轻量级传送器。 Filebeat 作为agent安装在服务器上&#xff0c;监视指…...

基于java web在线商城购物系统源码+论文

一、环境信息 开发语言&#xff1a;JAVA JDK版本&#xff1a;JDK8及以上 数据库&#xff1a;MySql5.6及以上 Maven版本&#xff1a;任意版本 操作系统&#xff1a;Windows、macOS 开发工具&#xff1a;Idea、Eclipse、MyEclipse 开发框架&#xff1a;SpringbootHTMLjQueryMysq…...

MONI后台管理系统-swagger3(springdoc-openapi)集成

springdoc-openapi Java 库有助于使用 Spring Boot 项目自动生成 API 文档。springdoc-openapi 通过在运行时检查应用程序来根据 Spring 配置、类结构和各种注释推断 API 语义。 该库会自动生成 JSON/YAML 和 HTML 格式的页面文档。生成的文档可以使用swagger-api注释进行补充。…...

常见八股文04

63.索引的优缺点 优点 1.提高了查询性能 2.支持唯一性约束&#xff0c;避免插入重复数据 3.支持唯一性约束&#xff1a;在多表连接时&#xff0c;索引能够减少连接所需的时间和资源 缺点 1.占用额外存储空间:特别是在大型数据表中&#xff0c;索引可能会占用大量的空间 …...

php各个版本的特性以及绕过方式

一.php各个版本的特性 二.绕过正则匹配的常见方式 1.绕过空格 a.空变量$ l$s b.环境变量IFS&#xff08;默认情况下IFS为空格、制表符和换行符&#xff09; l${IFS}s c.重定向符&#xff08;<,>&#xff09; cat < file.txt //把file.txt的内容给cat命令&…...

允许某段网络访问Linux服务器上的MariaDB

在Linux服务器上安装了MariaDB&#xff0c;默认情况下&#xff0c;只允许本机访问。在某些特殊的情况下&#xff0c;要允许外部访问。具体操作流程如下&#xff1a; 1 修改服务器配置 vi /etc/my.cnf.d/server.cnf取消下面的注释&#xff0c;以便允许外来的主机访问。 bind-…...

【C语言】信号

【C语言】信号 信号1. 信号状态2. 信号处理方式3. 信号注册相关函数4. 信号集相关函数 信号 1. 信号状态 信号有三种状态&#xff1a;产生、未决和递达 信号产生方式&#xff1a; 按键产生&#xff0c;ctrlc 产生 中断信号SIGINT&#xff0c;ctrl \ 产生退出信号 SIGQUIT并…...

2023年下半年软考信息安全工程师案例分析及答案解析

试题一(16分) 回答问题1至问题6,将解答填入答题纸对应的解答栏内。 问题1(4分) 已知DES算法S盒如下,请补全S盒空缺的数据(1)、(2)、(3)、(4)。 【参考答案】3、13、15、0 问题2(2分) 已知S盒的输入为110011,请计算经过S盒变换之后的二进制输出。 【参考…...

攻防世界easyphp

<?php highlight_file(__FILE__); $key1 0; $key2 0;$a $_GET[a]; $b $_GET[b];if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){if(isset($b) && 8b184b substr(md5($b),-6,6)){$key1 1;}else{die("Emmm...再想想&quo…...

【WRF教程第3.6期】预处理系统 WPS 详解:以4.5版本为例

预处理系统 WPS 详解&#xff1a;以4.5版本为例 Geogrid/Metgrid 插值选项详解1. 插值方法的工作机制2. 插值方法的详细说明2.1 四点双线性插值&#xff08;four_pt&#xff09;2.2 十六点重叠抛物线插值&#xff08;sixteen_pt&#xff09;2.3 简单四点平均插值&#xff08;av…...

图解HTTP-HTTP协议

HTTP HTTP是一种不保存状态&#xff0c;即无状态的协议。HTTP协议自身不对请求和响应之间的通信进行保存。为了保存状态因此后面也有一些技术产生比如Cookies技术。 HTTP是通过URI定位网上的资源&#xff0c;理论上将URI可以访问互联网上的任意资源。 如果不是访问特定的资源…...

Linux基本命令

Linux基本命令 一条Linux命令由&#xff1a;命令本身 [可选项] [参数] ls 展示 ls命令的选项: -a 选项&#xff0c;可以展示出隐藏的内容 以 . 开头的文件或文件夹默认被隐藏&#xff0c;需要-a才能显示出来 **-l **选项,以列表的形式展示内容,并展示更多细节-h 选项&…...

【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)

一、RAGFlow简介 RAGFlow是一个基于对文档深入理解的开源RAG&#xff08;Retrieval-augmented Generation&#xff0c;检索增强生成&#xff09;引擎。 主要作用&#xff1a; 让用户创建自有知识库&#xff0c;根据设定的参数对知识库中的文件进行切块处理&#xff0c;用户向大…...

.ejs 后缀文件 - 嵌入式JavaScript模板

嵌入式JavaScript模板&#xff08;Embedded JavaScript templates&#xff09;文件是以.ejs 后缀。它是一种模板引擎&#xff0c;它允许你在你的HTML文件中直接嵌入JavaScript代码。EJS模板可以包含HTML代码、JavaScript表达式、控制结构&#xff08;如if语句和循环&#xff09…...

springboot461学生成绩分析和弱项辅助系统设计(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装学生成绩分析和弱项辅助系统软件来发挥其高效地信息处理的作…...

【从零开始入门unity游戏开发之——C#篇23】C#面向对象继承——`as`类型转化和`is`类型检查、向上转型和向下转型、里氏替换原则(LSP)

文章目录 一、as类型转化和is类型检查1、as 关键字使用场景&#xff1a;语法&#xff1a;示例&#xff1a;特点&#xff1a; 2、is 关键字使用场景&#xff1a;语法&#xff1a;示例&#xff1a;特点&#xff1a; 3、总结 二、向上转型和向下转型1、向上转型示例&#xff1a; 2…...

“魔法糖果盒的秘密:用朴素贝叶斯算法猜糖果颜色”

想象一下&#xff0c;你有一个神奇的糖果盒&#xff0c;这个糖果盒里有两种糖果&#xff1a;红色的和蓝色的。你闭上眼睛&#xff0c;从盒子里拿出一个糖果&#xff0c;然后尝一尝&#xff0c;你想知道这个糖果是红色的还是蓝色的。朴素贝叶斯算法就像是一个魔法规则&#xff0…...

使用“NodeMCU”、“红外模块”实现空调控制

项目思路 空调遥控器之所以能够实现对空调的控制&#xff0c;是因为它能够向空调发射出特定的红外信号。从理论上来说&#xff0c;任何能够发射出这种相同红外信号的红外发射器&#xff0c;都可以充当空调遥控器&#xff08;这也正是手机能够控制多种不同品牌空调的原因所在&a…...

了解cuda的统一内存

1. CUDA 6中的统一内存 在CUDA 6中&#xff0c;从Kepler GPU架构&#xff08;计算能力3.0或更高&#xff09;开始&#xff0c;在64位Windows 7、8和Linux操作系统&#xff08;内核2.6.18&#xff09;上开始支持统一内存. 从CUDA 6开始&#xff0c;NVIDIA推出了CUDA平台历史上…...

MySQL索引

2.1 索引概述 2.1.1 介绍 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着满足 特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff0c; 这样就…...

会话控制(cookie、session 和 token)

1. 介绍 所谓会话控制就是 对会话进行控制HTTP 是一种无状态的协议&#xff0c;它没有办法区分多次的请求是否来自于同一个客户端&#xff0c; 无法区分用户&#xff0c;而产品中又大量存在的这样的需求&#xff0c;所以我们需要通过 会话控制 来解决该问题。 常见的会话控制…...

stm32 rtc 详解

目录 L151 RTC 唤醒代码 方式一 通过 RTC Alarm Interrupt&#xff1a;(基本和F1系列一样)&#xff1a; L151 RTC 唤醒代码 方式二 通过 RTC WakeUp Interrupt F103VE RTC 闹钟唤醒代码 &#xff08;103RC 没有闹钟中断&#xff09;&#xff1a; RTC&#xff08;real time…...

D 咖智能饮品机器人:开启商业新篇

在科技迅猛发展的当下&#xff0c;智能机器人正逐步渗透到各个商业领域&#xff0c;D 咖智能饮品机器人便是其中的佼佼者&#xff0c;它的出现为饮品行业带来全新的发展契机&#xff0c;有望开启商业新篇。 从大环境来看&#xff0c;消费者对于饮品的需求日益多元化和个性化。他…...

使用FakeSMTP创建本地SMTP服务器接收邮件具体实现。

以下代码来自Let’s Go further节选。具体说明均为作者本人理解。 编辑邮件模版 主要包含三个template: subject&#xff1a;主题plainBody&#xff1a; 纯文本正文htmlBody&#xff1a;超文本语言正文 {{define "subject"}}Welcome to Greenlight!{{end}} {{def…...

重拾设计模式--模板方法模式

文章目录 一、模板方法模式概述二、模板方法模式UML图三、优点1代码复用性高2可维护性好3扩展性强 四、缺点五、使用场景六、C 代码示例1七、 C 代码示例2 一、模板方法模式概述 定义&#xff1a;定义一个操作中的算法骨架&#xff0c;而降一些步骤延迟到子类中。模板方法使得…...

二、windows环境下vscode使用wsl教程

本篇文件介绍了在windows系统使用vscode如何连接使用wsl&#xff0c;方便wsl在vscode进行开发。 1、插件安装 双击桌面vscode&#xff0c;按快捷键CtrlShiftX打开插件市场&#xff0c;搜索【WSL】点击安装即可。 2、开启WSL的linux子系统 点击左下方图标【Open a Remote Win…...

我们的电视Our tv 3.6.0安卓+TV 一款全新电视直播软件-内置稳定直播源

应用简介 我们的电视&#xff08;ourtv&#xff09;是一款完全无广告的电视直播软件&#xff0c;清晰度可选择高清&#xff0c;超清&#xff0c;蓝光等播放。安装即可使用&#xff0c;再也不用费劲去找各种不稳定的直播源了。 “我们的电视”播放线路&#xff08;直播源&…...

批处理理解

初识批处理 如何批处理&#xff1a; 命名&#xff1a;.bat 方法&#xff1a;创建一个记事本文件&#xff0c;然后将其扩展改为.bat 批处理作用&#xff1a;自上而下成批处理每一条DOS命令&#xff0c;直到执行到最后一条。运行环境&#xff1a;当然是我们cmd了 回归我学过的…...

高效准确的PDF解析工具,赋能企业非结构化数据治理

目录 准确性高&#xff1a;还原复杂版面元素 使用便捷&#xff1a;灵活适配场景 贴心服务&#xff1a;快速响应机制 在数据为王的时代浪潮中&#xff0c;企业数据治理已成为组织优化运营、提高竞争力的关键。随着数字化进程的加速&#xff0c;企业所积累的数据量呈爆炸式增长…...

Go框架比较:goframe、beego、iris和gin

由于工作需要&#xff0c;这些年来也接触了不少的开发框架&#xff0c;Golang的开发框架比较多&#xff0c;不过基本都是Web"框架"为主。这里稍微打了个引号&#xff0c;因为大部分"框架"从设计和功能定位上来讲&#xff0c;充其量都只能算是一个组件&…...

【ETCD】【实操篇(三)】【ETCDCTL】如何向集群中写入数据

在分布式系统中&#xff0c;etcd 是一个高可用的键值存储&#xff0c;用于存储和共享配置信息、服务发现、协调等。向 etcd 写入数据可以通过多种方式进行&#xff0c;常见的方式是使用 etcd 提供的 HTTP API 或者通过客户端库来进行操作。 目录 一、使用EtcdCtl工具来写入数据…...

2025年春节档的《哪吒2》,光线传媒动画梦的关键一战

没想到《哪吒之魔童闹海》会以这种形式重回大众视野。 距离2025年春节还有不到两个月&#xff0c;春节档电影大战已经打响&#xff0c;原本市场还在猜测2024年频频“胎动”的《哪吒之魔童闹海》&#xff08;以下简称《哪吒2》&#xff09;会不会参与这场“神仙打架”&#xff…...

windows C#-实例构造函数

声明一个实例构造函数&#xff0c;以指定在使用 new 表达式创建某个类型的新实例时所执行的代码。 要初始化静态类或非静态类中的静态变量&#xff0c;可以定义静态构造函数。 如以下示例所示&#xff0c;可以在一种类型中声明多个实例构造函数&#xff1a; class Coords {pu…...

FPGA-PS端编程1:

目标 在小梅哥的zynq 7015上&#xff0c;完成以下目标&#xff1a; 读取 S1 按键的电平&#xff0c; 当 S1 按键为按下状态时&#xff0c;驱动 PS LED 以 1S 的频率闪烁(注意理解 1S 的频率闪烁和 1S的时间翻转两种描述之间的差别)&#xff0c; 当 S1 释放后&#xff0c;停止…...

【JavaEE进阶】第一个Spring Boot程序

目录 &#x1f334;安装插件 &#x1f384;Spring Boot介绍 &#x1f333;Spring Boot项目创建 &#x1f6a9;创建Spring Boot项目 &#x1f3c0;jar 包下载不下来问题 &#x1f6a9;启动项目 &#x1f332;目录介绍 &#x1f6a9;src文件 &#x1f6a9;target文件 &…...

RunCam WiFiLink连接手机图传测试

RunCam WiFiLink中文手册从这里下载 一、摄像头端 1.连接天线&#xff08;易忘&#xff09; 2.打开摄像头前面的盖子&#xff08;易忘&#xff09; 3.接上直流电源&#xff0c;红线为正&#xff0c;黑线为负 4.直流电源设置电压为14v&#xff0c;电流为3.15A&#xff0c; 通…...

使用Chat-LangChain模块创建一个与用户交流的机器人

当然&#xff01;要使用Chat-LangChain模块创建一个与用户交流的机器人&#xff0c;你需要安装并配置一些Python库。以下是一个基本的步骤指南和示例代码&#xff0c;帮助你快速上手。 安装依赖库 首先&#xff0c;你需要安装langchain库&#xff0c;它是一个高级框架&#x…...

地级市2011-2020数字经济 博士研究生自用数据

赵涛评价指标数据&#xff0c;具体指标见图片 参考文献: [1]赵涛,张智,梁上坤.数字经济、创业活跃度与高质量发展——来自中国城市的经验证据[J].管理世界,2020,36(10):65-76. 每百人移动电话数&#xff0c;是模仿赵涛的&#xff0c;指人均再➗100 数据来源&#xff0c;中国城…...

呼叫中心部门如何使用开源大模型智能呼叫中心,对接已有系统实现降本增效

呼叫中心部门如何使用开源大模型智能呼叫中心&#xff0c;对接已有系统实现降本增效 作者&#xff1a;开源大模型智能呼叫中心FreeIPCC 随着人工智能技术的快速发展&#xff0c;特别是大规模语言模型&#xff08;LLM&#xff09;的应用&#xff0c;企业可以通过将开源大模型与…...

Latex 转换为 Word(使用GrindEQ )(英文转中文,毕业论文)

效果预览 第一步&#xff1a; 告诉chatgpt&#xff1a; 将latex格式中的英文翻译为中文&#xff08;符号和公式不要动&#xff09;,给出latex格式第二步&#xff1a; Latex 转换为 Word&#xff08;使用GrindEQ &#xff09; 视频 https://www.bilibili.com/video/BV1f242…...