PTA - C语言国庆题集2

news2024/11/15 1:59:41

目录

  • 7-21 打妖怪
  • 7-22 统计连续高温的最大天数
  • 7-23 唱歌比赛打分
  • 7-24 找最长的字符串
  • 7-25 算龙脉
  • 7-26 DNA鉴定
  • 7-28 T9键盘
  • 7-31 单链表的创建,遍历与销毁
  • 7-36 有多少位是7?
  • 7-37 选择排序
  • 7-38 翻转单词顺序
  • 7-39 求因子和最大的数(结构体排序)
  • 7-40 按因子和排序(结构体排序)

7-21 打妖怪

话说孙大圣保唐僧西天取经,路上遇到一妖怪。妖怪共有 v 滴血,大圣每打一棒就能使妖怪失去 h 滴血,妖怪的血小于10滴,就会立即死去。大圣打了 n 棒将妖怪打死。

请编写程序,输入v 和 h,输出n。假设 v 远远大于 10

输入格式:
v 和 h

输出格式:
n

注:题目保证 v、h 和 n 的值都在 int 类型的表示范围内。

输入样例:
在这里给出一组输入。例如:

2510 1000
输出样例:
在这里给出相应的输出。例如:

3

#include <stdio.h>
#include <math.h>

int main(){
    int v,h;scanf("%d %d",&v,&h);

    double ans;
    if(v%h<10){
        ans=v*1.0/h;
    }else{
        ans=ceil(v*1.0/h);
    }

    printf("%.0f",ans);
    return 0;
}

7-22 统计连续高温的最大天数

温度大于等于40度,即认为是高温天气。

输入格式:
第一行是一个n,表示待输入的天数,1<=n<=100000。

第二行开始有n个温度(假定温度都为正整数),中间用空格隔开。

输出格式:
输出连续高温的最大天数。(如果没有一天是高温,则输出0)

输入样例:
在这里给出一组输入。例如:

10
35 40 42 39 40 42 41 43 37 43
输出样例:
在这里给出相应的输出。例如:

4

#include <stdio.h>

int a[100009];
int main()
{
    int n;scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    int ans=0;
    int cnt=0;
    for(int i=0;i<n;i++){
        int cnt=0;
        while(a[i]>=40) {
            cnt++;
            i++;
        }
        if(cnt>ans) ans=cnt;
    }
    printf("%d",ans);
    return 0;
}

7-23 唱歌比赛打分

学校进行歌唱比赛。每位选手演唱完毕后,由十位评委打分(分数为整数,满分100分)。

评分规则是,去掉一个最高分,去掉一个最低分,计算其他八位评委的平均分。

输入格式:
在一行中,输入十位评委给出的分数,空格隔开。

输出格式:
去掉一个最高分,去掉一个最低分,计算其他八位评委的平均分。结果保留一位小数。

输入样例:
在这里给出一组输入。例如:

100 73 78 95 86 93 88 87 89 72
输出样例:
在这里给出相应的输出。例如:

86.1

#include <stdio.h>
#include <stdlib.h>

int cmp(const void* e1,const void* e2){
    return *(int*)e1 - *(int*)e2;
}
int a[10];
int main()
{
    for(int i=0;i<10;i++) scanf("%d",&a[i]);
    qsort(a,10,sizeof(int),cmp);

    // for(int i=0;i<10;i++) printf("%d ",a[i]);
    int sum=0;
    double ans;
    for(int i=1;i<9;i++){
        sum+=a[i];
    }
    ans=sum*1.0/8;
    printf("%.1f\n",ans);
    return 0;
}

7-24 找最长的字符串

本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。

输入格式:
输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。

输出格式:
在一行中用以下格式输出最长的字符串:

The longest is: 最长的字符串
如果字符串的长度相同,则输出先输入的字符串。

输入样例:
5
li
wang
zhang
jin
xiang
输出样例:
The longest is: zhang

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Str{
    char ch[109];
    int len;
};
int cmp(const void* e1,const void* e2){
    return ((struct Str*)e2)->len - ((struct Str*)e1)->len;
}
int main(){
    struct Str S[1009];
    int n;scanf("%d",&n);
    for(int i=0;i<n;i++) {
        scanf("%s",S[i].ch);
        S[i].len=strlen(S[i].ch);
    }
    qsort(S,n,sizeof(struct Str),cmp);

    printf("The longest is: %s",S[0].ch);
    return 0;
}

7-25 算龙脉

在中国古代,群龙聚会是常有的事,一个龙群的实力,往往由这个龙群的龙脉的强弱决定,但一群龙的龙脉的计算却是十分困难而且保密的工作,原因是,在龙群中,每条龙的实力,往往由一系列数字表示,如在有n条龙的龙群中,每条龙的实力,就有n个数,这样就构成了一个n*n的矩阵,所谓龙群的实力,就是这个矩阵上两个对角线上所有数值之和,现在要求,从键盘上输入一个数n,然后再输入n行数据,每行数据有n个整数,请您编写程序,输出该龙脉的值。

输入样例:
在这里给出一组输入。例如:

4
1 2 3 1
1 1 2 3
1 2 3 5
2 3 4 5
输出样例:
在这里给出相应的输出。例如:

17

#include <stdio.h>

int a[109][109];
int main()
{
    int n;scanf("%d",&n);
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++)scanf("%d",&a[i][j]);
    }
    int sum=0;
    // if(n%2!=0){
    //     sum-=a[(n-1)/2][(n-1)/2];
    // }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++) 
        {
            if(i==j || i+j==n-1) sum+=a[i][j];
        }
    }
    printf("%d",sum);
}

7-26 DNA鉴定

DNA鉴定,在医学上主要是比较两个样本的基因序列的相似程度,但在我们计算机中,对字符串的处理,也可以参考DNA鉴定的方式,比较两个字符串的相似值。如果两个字符串相似程度越高,我们就认为这两个字符串就越相似,具体比较思路如下:给定两个字符串A,B,通过算法判断这两个字符串中相同字符的个数是多少。例:face 和areas 这两个字符串的相似度就是2
例:从屏幕上输入两行,每一行代表一个字符串(中间没有空格,全是英文字母,不区分大小写)。

输入样例:
在这里给出一组输入。例如:

face
areas
输出样例:
在这里给出相应的输出。例如:

2

#include <stdio.h>
#include <string.h>

int cmp(const void* e1,const void* e2){
    return *(char*)e1 - *(char*)e2;
}
int main(){
    char str1[109];
    char str2[109];
    gets(str1);
    gets(str2);
    // printf("%s\n",str1);
    // printf("%s",str2);
    // 先对str1去重 -> str3
    char str3[109];
    int index=0;
    qsort(str1,strlen(str1),sizeof(char),cmp);
    for(int i=0;str1[i]!='\0';i++){
        if(str1[i]!=str1[i+1]) str3[index++]=str1[i];
    }

    // printf(str3);
    int ans=0;
    for(int i=0;str3[i]!='\0';i++){
        for(int j=0;str2[j]!='\0';j++) {
            if(str3[i]==str2[j]) {
                ans++;
                break;
            }
        }
    }
    printf("%d",ans);
    return 0;
}

7-28 T9键盘

在iPhone和Android大行其道之后,几乎所有的智能手机都配上了大屏幕,用手指直接戳屏幕来输入文字。在这之前,需要通过键盘来输入文字的手机上,T9键盘是不折不扣的王者。
过去风靡全球的T9键盘外观的通常外观如下图:
请添加图片描述
如果人们需要键入”GALAXY”,那他们需要以如下顺序敲击键盘:4-2-5-2-9-9;在单手操作键盘是输入这个字串最少所需要移动手指的次数就是4次(一开始将手指放在4上不计入移动次数中)
现在给你一个仅包含大写字母的字符串,请你计算单手操作T9键盘键入该字符串最少所需要移动手指的次数。
输入格式:
输入第一行一个整数T(T<=50)代表输入数据组数
每组数据一行,一个字符串s表示待输入的字符串,该字符串由大写字母组成,且长度不超过50。

输出格式:
每组输出一行;首先输出Case #C:(C代表数据编号,从1开始直至T);紧跟一个空格符后输出键入该字符串最少所需要移动手指的次数。

输入样例:
在这里给出一组输入。例如:

3
GALAXY
ABC
ADGJM
输出样例:
在这里给出相应的输出。例如:

Case #1: 4
Case #2: 0
Case #3: 4

#include <stdio.h>

int main(){
    int t;scanf("%d",&t);
    int time=0;
    while(t--){
        char str[59];
        scanf("%s",str);
        getchar();
        int count=0;
        for(int i=0;str[i]!='\0';i++){
            if((str[i]=='A' ||str[i]=='B' || str[i]=='C') &&
               (str[i+1]=='A' ||str[i+1]=='B' || str[i+1]=='C')) continue;
            else if((str[i]=='D' ||str[i]=='E' || str[i]=='F') &&
               (str[i+1]=='D' ||str[i+1]=='E' || str[i+1]=='F')) continue;
            else if((str[i]=='G' ||str[i]=='H' || str[i]=='I') &&
               (str[i+1]=='G' ||str[i+1]=='H' || str[i+1]=='I')) continue;
            else if((str[i]=='J' ||str[i]=='K' || str[i]=='L') &&
               (str[i+1]=='J' ||str[i+1]=='K' || str[i+1]=='L')) continue;
            else if((str[i]=='M' ||str[i]=='N' || str[i]=='O') &&
               (str[i+1]=='M' ||str[i+1]=='N' || str[i+1]=='O')) continue;
            else if((str[i]=='P' ||str[i]=='Q' || str[i]=='R' || str[i]=='S') &&
               (str[i+1]=='P' ||str[i+1]=='Q' || str[i+1]=='R' || str[i+1]=='S')) continue;
            else if((str[i]=='T' ||str[i]=='U' || str[i]=='V') &&
               (str[i+1]=='T' ||str[i+1]=='U' || str[i+1]=='V')) continue;
            else if((str[i]=='W' ||str[i]=='X' || str[i]=='Y' || str[i]=='Z') &&
               (str[i+1]=='W' ||str[i+1]=='X' || str[i+1]=='Y' || str[i+1]=='Z')) continue;

            count++;
        }

        printf("Case #%d: %d\n",++time,count-1);
    }
    return 0;
}

7-31 单链表的创建,遍历与销毁

从键盘输入任意多个正整数,输入以-1结束。逆序输出这些整数(不包括-1)。
提示:
1、逆序创建单链表。结点数据域是整型数。每输入一个整数,向链表中插入一个结点。当输入-1时结束链表的创建。
2、遍历链表,输出结点数据域的值。
3、遍历完成后,要求销毁该链表。

输入格式:
任意多的正整数,输入序列以-1结束。

输出格式:
逆序输出这些整数(不包括-1)。

输入样例:
在这里给出一组输入。例如:

3 8 2 9 7 4 -1
输出样例:
在这里给出相应的输出。例如:

4 7 9 2 8 3

#include <stdio.h>

int a[100009];
int main(){
    int i=0;
    while(scanf("%d",&a[i]) && a[i]!=-1){
        i++;
    }
    for(int s=i-1;s>=0;s--) 
        printf("%d ",a[s]);
    return 0;
}

7-36 有多少位是7?

从键盘读入一个4位数的整数,求该数中有多少位是7

输入格式:
一个4位数的整数

输出格式:
该整数中7的个数

输入样例:
在这里给出一组输入。例如:

4757
输出样例:
在这里给出相应的输出。例如:

2

#include <stdio.h>

int main(){
    int n;scanf("%d",&n);
    int ans=0;
    while(n){
        int x=n%10;
        n/=10;
        if(x==7) ans++;
    }
    printf("%d",ans);
    return 0;
}

7-37 选择排序

本题要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果。

输入格式:
输入的第一行是一个正整数n,表示 在第二行中会有n个整数。

输出格式:
输出选择排序每一步的结果和最终结果。

输入样例:
在这里给出一组输入。例如:

5
3 7 2 9 1
输出样例:
在这里给出相应的输出。例如:

step 1: 1 7 2 9 3
step 2: 1 2 7 9 3
step 3: 1 2 3 9 7
step 4: 1 2 3 7 9
sorted array: 1 2 3 7 9
注意:
输出的冒号 : 是英文输入法下的符号,冒号后有一个空格。每个整数后有一个空格。

#include <stdio.h>

void print(int arr[], int n, int t) {
    printf("step %d: ", t);
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

void printS(int arr[], int n) {
    printf("sorted array: ");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

void SelectSort(int a[], int n) {
    int time = 1;
    for (int i = 0; i < n - 1; i++) {
        int min = a[i], min_Index = i, flag = 0;
        for (int j = i + 1; j < n; j++) {
            if (a[j] < min) {
                min = a[j];
                min_Index = j;
                // flag = 1; // 此趟有交换,此题不考虑
            }
        }
        // if (flag) {
            int temp = a[i];
            a[i] = a[min_Index];
            a[min_Index] = temp;
            print(a, n, time);
            time++;
        // }
    }
    // 输出排序完成后的数组
    printS(a, n);
}

int main() {
    int n;
    scanf("%d", &n);
    int a[1000];
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    SelectSort(a, n);

    return 0;
}

7-38 翻转单词顺序

给定一个字符串,翻转该字符串,翻转时单词中的字符顺序不变。例如,如果字符串为"Hello World",则翻转后为"World Hello"。单词间以一个或多个空格分隔。注意,字符串开头和结尾都可能有多个空格。输出时去掉多余的空格。只在每个单词之间以1个空格间隔。输出的每行末尾没有空格。

输入格式:
输入可能包括多行。每行代表一个字符串,除了空格外,标点符号和普通字母一样处理。你可以认为一行的字符总数不会超过50000个,单词数不会超过600,每个单词的长度也不会超过30。

输出格式:
输出包括多行,每行对应输入的一行,为翻转后的字符串。输出时去掉多余的空格。只在每个单词之前以1个空格间隔。输出的每行末尾没有空格。

输入样例:
在这里给出一组输入。例如:

student. a am I
World Hello
输出样例:
在这里给出相应的输出。例如:

I am a student.
Hello World

// 方法一
#include <stdio.h>
#include <string.h>

// 先整体逆置,再每个单词逆置,适用于无多余空格的情况
void reverse(char str[],int l,int r){
    while(l<r){
        char temp=str[l];
        str[l]=str[r];
        str[r]=temp;
        l++;r--;
    }
}
char str[50009];
int main(){
    while(gets(str)){
        // getchar();
        // 整体逆置
        int n=strlen(str);
        reverse(str,0,n-1);
        // 每个单词的逆置
        for(int i=0;str[i]!='\0';i++){
            int len=0;
            int j=i;
            while(str[j]!=' ' && str[j]!='\0'){
                len++;
                j++;
            }
            reverse(str,i,i+len-1);
            i+=len;
        }
        // 去除多余的空格
        // 缩小左右边界
        char ans[50009];
        int index=0;
        int l=0,r=n-1;
        while(str[l]==' ')l++;
        while(str[r]==' ')r--;

        int flag=1;
        for(int i=l;i<=r;i++){
            if(str[i]==' ' && flag==1){
                ans[index++]=str[i];
                flag=0;
            }else if(str[i]!=' '){
                ans[index++]=str[i];
                flag=1;
            }
            
        }
        ans[index]='\0';
        for(int i=0;ans[i]!='\0';i++) printf("%c",ans[i]);
        printf("\n");
    }
    return 0;
}
// 方法二
#include <stdio.h>
#include <string.h>

int main(){
    char str[50009];
    while(gets(str)){
        // getchar();
        int n=strlen(str);
        char* p=str+n-1;
        int flag=1;
        while(n>=1){
            int count=0;
            while(*p==' ' && n>=1){*p='\0';p--;n--;}
            while(*p!=' ' && n>=1){p--;n--;count++;}
            if(count>=1 && flag){
                printf("%s",p+1);
                flag=0;// 单词间的空格
            } 
            else if(count>=1 && !flag)printf(" %s",p+1);
        }
        printf("\n");
    }
    return 0;
}

7-39 求因子和最大的数(结构体排序)

我们定义正整数的因子和指1个正整数的因子中,不包括自己的其它所有因子之和。例如,4的因子和是1+2=3,6的因子和是1+2+3=6,7的因子和是1,8的因子和是1+2+4=7,9的因子和是1+3=4。我们约定1的因子和是0。
本题要求你编程求一组正整数中因子和最大的数。

输入格式:
输入包括2行。
第一行是1个正整数n,表示第2行会有n个正整数。

输出格式:
输出第2行的n个正整数中因子和最大的那个数。

输入样例:
5
4 6 7 8 9
输出样例:
8

#include <stdio.h>


typedef struct MaxNum{
    int num;
    int sum;
}Max;
int cmp(const void* e1,const void* e2){
    const Max* a=(const Max*)e1;
    const Max* b=(const Max*)e2;
    return b->sum - a->sum;
    // return ((Max*)e2)->sum - ((Max*)e1)->sum;
}
int main(){
    Max m[1009];
    int n;scanf("%d",&n);
    for(int i=0;i<n;i++) scanf("%d",&m[i].num);
    for(int i=0;i<n;i++){
        int count=0;
        for(int j=1;j<m[i].num;j++){
            if(m[i].num%j==0) count+=j;
        }
        m[i].sum=count;
    }
    qsort(m,n,sizeof(Max),cmp);
    printf("%d",m[0].num);
    return 0;
}

7-40 按因子和排序(结构体排序)

我们定义正整数的因子和是不包括自己的其它所有因子之和。例如,4的因子和是1+2=3,6的因子和是1+2+3=6,7的因子和是1,8的因子和是1+2+4=7,9的因子和是1+3=4。我们约定1的因子和是0。要求你编写程序,对一组正整数,按每个数因子和的大小,从小到大排序。测试数据保证输入的所有正整数因子和都各不相同。

输入格式:
输入有2行。第一行是一个正整数n,表示第二行会有n个正整数。第二行的每个正整数之间以空格隔开。

输出格式:
按因子和的大小从小到大输出n个正整数。每个数的输出包括该数和该数的因子和,因子和包括在一对小括号中。每个输出之后加入1个空格。

输入样例:
5
9 6 7 4 8
输出样例:
7(1) 4(3) 9(4) 6(6) 8(7)

#include <stdio.h>
#include <stdlib.h>

struct Sum{
    int num;
    int s;
};
int cmp(const void* e1,const void* e2){
    struct Sum* a=(struct Sum*)e1;
    struct Sum* b=(struct Sum*)e2;
    
    return a->s - b->s;
}
int main(){
    struct Sum arr[1009];
    int n;scanf("%d",&n);
    for(int i=0;i<n;i++) scanf("%d",&arr[i].num);
    // 求因子和
    int sum;
    for(int i=0;i<n;i++){
        sum=0;
        for(int j=1;j<arr[i].num;j++){
            if(arr[i].num%j==0) sum+=j;
        }
        arr[i].s=sum;
    }
    qsort(arr,n,sizeof(struct Sum),cmp);
    for(int i=0;i<n;i++) printf("%d(%d) ",arr[i].num,arr[i].s); 
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2079642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

min(n,k)*min(m,k)

今天看那场一题都没写出来的div12&#xff0c;发现我想了那么久的A题&#xff0c;别人用几行代码就搞出来了。。。&#xff0c;现在感觉这道题和状压dp好像。。。 这道题用到了切比雪夫距离。。。

2024114读书笔记|《漱玉词》—— 绛绡缕薄冰肌莹,雪腻酥香,满院东风,海棠铺绣,梨花飞雪

2024114读书笔记|《漱玉词》—— 绛绡缕薄冰肌莹&#xff0c;雪腻酥香&#xff0c;满院东风&#xff0c;海棠铺绣&#xff0c;梨花飞雪 《漱玉词》李清照&#xff0c;观之入微&#xff0c;是惆怅亦是欢乐&#xff0c;不费力就可以读完的小诗词&#xff0c;插图不错。 知否的主…

Spring理论知识(Ⅱ)——Spring核心容器模块

Spring的组成 Spring由20个核心依赖组成&#xff0c;这20个核心依赖可以分为6个核心模块 本篇文章着重描述Spring核心容器模块&#xff0c;其中包含了spring-beans&#xff0c;spring-core&#xff0c;spring-context&#xff0c;spring-expression-language&#xff08;…

摄像头设备问题如何检测

摄像头等智能设备的在线状态通常被视为其运作正常的表现。但在日常监控使用中&#xff0c;由于使用空间、网络环境、产品年限等原因&#xff0c;设备掉线、视频流无法正常获取、监控画面异常&#xff08;如花屏&#xff09;&#xff0c;以及存储介质&#xff08;如SD卡&#xf…

【Electron】Electron学习笔记

1.什么是 Electron&#xff1f; Electron 是一个跨平台桌面应用开发框架&#xff0c;开发者可以利用 HTML、CSS、JavaScript 等Web技术来构建桌面应用程序。它本质上是结合了 Chromium 和 Node.js&#xff0c;目前广泛用于桌面应用程序开发。例如&#xff0c;许多桌面应用都采…

算法学习-基础算法

基础算法 一.二分查找 1.模版 boolean check(int x) { }int search(int left, int right) {while (left < right) {int mid (left right) >> 1;if (check(mid)) {//满足条件&#xff0c;向寻找范围继续寻找&#xff0c;例如我要找更靠左的&#xff1a;r m right…

一次学校OJ 代码执行测试

前言 以前看过一篇Windows上搭OJ被C#打穿的文章&#xff0c;刚好测测学校的OJ。 这里没有过多的研究其余的可能利用点&#xff0c;仅仅是简单记录下过程&#xff0c;一些思路的启发。 测试过程 首先看支持的代码类型&#xff1a; 尝试了Java发现不能import&#xff0c;那J…

一文带你从零到实战,学会gcc和Makefile,多文件编译神器的使用与编写

目录&#xff1a; 目录&#xff1a; 一、什么是Makefile 1.1 makefile的作用&#xff1a; 1.2 makefile的基本组成&#xff1a; 二、Linux编译过程&#xff1a; 2.1 linux编译过程: 2.1.1 预处理&#xff08;Preprocessing&#xff09; 2.1.2 编译&#xff08;Compilation&am…

# 移动硬盘误操作制作为启动盘数据恢复问题

移动硬盘误操作制作为启动盘数据恢复问题 文章目录 移动硬盘误操作制作为启动盘数据恢复问题步骤一恢复原有数据 步骤二格式化并重新分区 注意注意先找数据恢复软件恢复数据&#xff0c;把之前移动硬盘或者U盘上的数据恢复到其它地址 步骤一 恢复原有数据 使用一些数据恢复软…

SpringBoot实现Word转PDF/TXT

背景 研发工作中难免会遇到一些奇奇怪怪的需求&#xff0c;就比如最近&#xff0c;客户提了个新需求&#xff1a;上传一个WORD文档&#xff0c;要求通过系统把该文档转换成PDF和TXT。客户的需求是没得商量的&#xff0c;必须实现&#xff01;承载着客户的期望&#xff0c;我开始…

培训第三十七天(Dockerfile与registry)

一、使用Dockerfile创建镜像 Dockerfile文件命令介绍&#xff1a; FORM 指定基础镜像为该镜像的最后修改版本 FROM < img:tag >指定基础镜像为该镜像的⼀个tag版本 MAINTAINER 指定镜像创建者&#xff0c;企业内部不⽤指定&#xff0c;对外发布也可以不指定 RUN 运⾏…

探索Python的Excel力量:openpyxl库的奥秘

文章目录 探索Python的Excel力量&#xff1a;openpyxl库的奥秘背景&#xff1a;为什么选择openpyxl&#xff1f;库简介&#xff1a;openpyxl是什么&#xff1f;安装指南&#xff1a;如何安装openpyxl&#xff1f;快速上手&#xff1a;五个基本函数实战演练&#xff1a;三个应用…

Python实现Word文档转换为图片(JPG、PNG、SVG等常见格式)例子解析

在Python中将Word文档转换为图片&#xff08;如JPG、PNG、SVG等格式&#xff09;可以通过多种库实现&#xff0c;例如Spire.Doc for Python和Aspose.Words for Python。以下是一些详细的代码示例&#xff0c;展示了如何使用这些库完成转换。 使用Spire.Doc for Python转换Word…

网络服务器及IO模型

网络服务器 单循环服务器&#xff1a;服务器在同一时刻只能响应一个客户端的请求 并发服务器模型&#xff1a;服务器在同一时刻可以响应多个客户端的请求 实现TCP并发服务器 1.多进程 2.多线程 3.IO多路复用&#xff1a; 为了解决进程或线程阻塞到某个 I/O 系统调用而出现的…

几种前端处理文本换行展示

文章目录 一、使用 CSS 的 white-space 属性二、使用 CSS 的 word-break 和 word-wrap 属性三、 使用 CSS 的 flex 布局和自动换行四、 使用overflow实现换行 一、使用 CSS 的 white-space 属性 可以将 white-space 属性设置为 pre-wrap 或 pre-line。 pre-wrap&#xff1a;保…

【STM32】FMC

FMC功能与FSMC类似&#xff0c;但比FSMC更强大&#xff0c;但仅在F4 / F7 / H7等高级一点的MCU上支持&#xff0c;F1不支持。虽然我的是F103&#xff0c;但顺便都看了。 大部分图片来源&#xff1a;正点原子HAL库课程 专栏目录&#xff1a;记录自己的嵌入式学习之路-CSDN博客 目…

数据结构学习:栈

栈的简介 栈&#xff08;Stack&#xff09;是限定仅在表尾进行插入租删除操作的线性表。 允许插入和删除的一端称为栈顶(top),另-端称为栈底(bottom) 不含任何数据元素的栈称为空栈 栈又称为后进先出的线性表,简称LIFO结构 栈的插入操作&#xff0c;也叫做进栈&#xff0c…

java JVM

JVM的组成 Java虚拟机&#xff08;JVM&#xff09;是执行Java字节码的运行时环境。它由以下几个主要部分组成&#xff1a; 1. **类加载器&#xff08;ClassLoader&#xff09;**&#xff1a; - 负责加载Java类的字节码到JVM中&#xff0c;并进行链接和初始化。 关于Java的…

C++基础练习

1》提示并输入一个字符串&#xff0c;统计该字符串中字母个数、数字个数、空格个数、其他字符的个数 1 #include<iostream>2 using namespace std;3 4 int main()5 {6 string str1; //定义字符串数据7 cout << "请输入一个字符串>>>" ;8…

三种常用的Word打印部分内容操作技巧

作为打工人&#xff0c;我们经常需要处理Word文档&#xff0c;有时还会遇到只需要打印文档中的部分内容而非整个文档的情况。为了高效地完成这一任务&#xff0c;Word提供了多种灵活的设置方法。本文将详细介绍三种常用的方法来帮助你实现只打印Word文档中的部分内容。 方法一&…