高级语言讲义2024软专(仅高级语言部分)

2024-03-11 05:28

本文主要是介绍高级语言讲义2024软专(仅高级语言部分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.实现快速排序,简要分析时间复杂度、空间复杂度。

#include <stdio.h>void swap(int* a, int* b) {int temp = *a;*a = *b;*b = temp;
}void printArray(int *arr, int size) {for (int i = 0; i < size; i++)printf("%d ", arr[i]);printf("\n");
}int partition(int *arr, int low, int high) {int pivot = arr[low];int i = low + 1;int j = high;  while (1) {while (arr[i] < pivot && i <= high)i++;while (arr[j] > pivot && j >= low + 1)j--;if (i >= j)break;swap(&arr[i], &arr[j]);}swap(&arr[low], &arr[j]);return j; 
}void quickSort(int *arr, int low, int high) {if (low < high) {int pivot_index = partition(arr, low, high);quickSort(arr, low, pivot_index - 1);quickSort(arr, pivot_index + 1, high); }
}int main() {int arr[] = {10, 7, 8, 9, 1, 5};int size = sizeof(arr) / sizeof(arr[0]);printf("Original Array: ");printArray(arr, size);quickSort(arr, 0, size - 1);printf("Sorted Array: ");printArray(arr, size);return 0;
}

2.int len( char*s),实现该递归函数,计算字符中最后一个单词的长度,若不存在单词{返回0。(字符串由大小写字母、空格组成)

#include <stdio.h>int strlen(char *s) {if(*s=='\0')return 0;elsereturn strlen(s+1)+1;
}int del(char *s) {if(*s==' ')return del(s-1)+1;return 0;
}int getlen(char *s) {if(*s==' ')return 0;elsereturn getlen(s-1)+1;
}int main() {char str[] = "Hellmo Wiorld";printf("%d",getlen(str+strlen(str)-1-del(str+strlen(str)-1)));return 0;
}

3.职工信息:工号、姓名、年龄。定义结构体从键盘读入n个职工信息,结点顺序与读入一致。

#include <stdio.h>
#include <stdlib.h>typedef struct node {int num;char name[20];int age;struct node *next;
} node;struct node* create(int n) {struct node* head=NULL;struct node* p1,*p2;for(int i=0; i<n; i++) {p1=(struct node *)malloc(sizeof(struct node));scanf("%d%s%d",&p1->num,&p1->name,&p1->age);if(i==0)head=p1;elsep2->next=p1;p2=p1;}p2->next=NULL;return head;
}

4.续写,将链表中工号重复的结点删去,并写入" worker.txt"文件中

#include <stdio.h>
#include <stdlib.h>typedef struct node {int num;char name[20];int age;struct node *next;
} node;void removeDuplicates(struct node* head) {FILE *file;if((file=fopen("worker.txt","w"))==NULL)printf("open error");if (head == NULL)return;struct node* current = head;while (current->next != NULL) {if (current->num == current->next->num) {struct node* temp = current->next;current->next = temp->next;free(temp);} elsecurrent = current->next;}while(head!=NULL) {fprintf(file,"%10s %d %d",head->name,head->age,head->num);head=head->next;}fclose(file);
}

这篇关于高级语言讲义2024软专(仅高级语言部分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/796787

相关文章

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1

Java Stream 的 Collectors.toMap高级应用与最佳实践

《JavaStream的Collectors.toMap高级应用与最佳实践》文章讲解JavaStreamAPI中Collectors.toMap的使用,涵盖基础语法、键冲突处理、自定义Map... 目录一、基础用法回顾二、处理键冲突三、自定义 Map 实现类型四、处理 null 值五、复杂值类型转换六、处理

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本