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

2024-03-10 17:52

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

1.一个二维数组,每一行存放一个字符串,比较字符串并排序。

#include <stdio.h>int strcmp(char *str,char *flag) {int i=0;while(str[i]!='\0'&&flag[i]!='\0') {if(str[i]>flag[i])return 1;else if(str[i]<flag[i])return -1;elsei++;}if(str[i]=='\0'&&flag[i]=='\0')return 0;else if(str[i]=='\0')return -1;elsereturn 1;
}void strcpy(char *flag,char *str) {int i=0;while(str[i]!='\0') {flag[i]=str[i];i++;}flag[i]='\0';
}void sort(char st[][10],int n) {char temp[10];for(int i=0; i<n-1; i++)for(int j=0; j<n-i-1; j++)if(strcmp(st[j],st[j+1])>0) {strcpy(temp,st[j]);strcpy(st[j],st[j+1]);strcpy(st[j+1],temp);}
}int main() {char st[][10] = {"hello","world","python","C","java","R"};int n=6;sort(st,n);for(int i=0; i<n; i++)printf("%s ",st[i]);printf("\n");return 0;
}

2.一行n(n大于等于2)个框,三个颜色,每个相邻的框颜色不能相同,用递归写出有多少种方法

#include <stdio.h>
#include <stdbool.h>bool islegal(int *path,int n) {for(int i=0; i<n; i++)if(path[i]==path[i-1]||path[i]==path[i+1])return false;return true;
}void dfs(int *path,int n,int index,int *num) {if(index==n) {if(islegal(path,n))*num++;return;}for(int i=0; i<=2; i++) {path[index]=i;dfs(path,n,index+1,num);}
}int count(int n) {int path[20];int num=0;dfs(path,n,0,&num);return num;
}

3.定义结构体,链表输入学生数据,再输入到文件中。

#include <stdio.h>
#include <stdlib.h>typedef struct stu {int num;char name[20];int sex;struct stu *next;
} stu;struct stu *create(int n) {struct stu *head=(struct stu*)malloc(sizeof(struct stu));head->next=NULL;struct stu *pre=head;for(int i=0; i<n; i++) {struct stu *p=(struct stu*)malloc(sizeof(struct stu));scanf("%d",&p->num);scanf("%s",&p->name);scanf("%d",&p->sex);while(p->next!=NULL&&pre->next->num<p->num)pre=pre->next;p->next=pre->next;pre->next=p;pre=head;}return head->next;
}

4.将该链表按性别拆分为两个链表并排序,再写到两个文件中

#include <stdio.h>
#include <stdlib.h>typedef struct stu {int num;char name[20];int sex;struct stu *next;
} stu;void save(struct stu *head) {FILE *fileA,*fileB;if((fileA=fopen("man.txt","w"))==NULL) {printf("open error");exit(0);}if((fileB=fopen("woman.txt","w"))==NULL) {printf("open error");exit(0);}struct stu *p=head;struct stu *headA=(struct stu *)malloc(sizeof(struct stu));struct stu *headB=(struct stu *)malloc(sizeof(struct stu));struct stu *rearA=headA,*rearB=headB;while(p!=NULL) {struct stu *flag=p->next;if(p->sex==1) {rearA->next=p;rearA=p;fprintf(fileA,"%d %s",p->num,p->name);fprintf(fileA,"man");} else {rearB->next=p;rearB=p;fprintf(fileB,"%d %s",p->num,p->name);fprintf(fileB,"woman");}p=flag;}rearA->next=NULL;rearB->next=NULL;fclose(fileA);fclose(fileB);}

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



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

相关文章

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)一些基本