高级语言讲义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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作