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

2024-03-11 22:36

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

1.假设有包含m个元素的整型数组a,该数组中存放了m个不重复的整数。编写函数求数组a中第k大的整数。 

#include <stdio.h>void sort(int *arr,int m,int n) {for(int i=m; i<n-1; i++)for(int j=m; j<n+m-i; j++)if(arr[j]<arr[j+1]) {int temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}
}int main() {int k;scanf("%d",&k);int arr[20]= {1,2,3,4,5,6,7,8,9,10};sort(arr,0,9);printf("%d",arr[k-1]);return 0;
}

2.假设用整型数组存储二进制数,即数组的一个元素存放二进制数的位。编写函数实现该存储形式的二进制数的加1运算。

#include <stdio.h>int addone(int *a,int n) {int add=1;for(int i=n-1; i>=0; i--) {int temp=a[i]+add;a[i]=temp%2;add=temp/2;}if(add!=0) {for(int i=n; i>0; i--)a[i]=a[i-1];a[0]=add;n+=1;}for(int i=0; i<n; i++)printf("%d ",a[i]);
}int main() {int a[10];for(int i=0; i<5; i++)scanf("%d",&a[i]);addone(a,5);return 0;
}

3. C语言中没有集合类型,为了模拟集合运算可将正整数集合用“稀疏数组"来存储,即集合中的整数位置上的数组值为1,其它位置上的数组值为0.分别编写函数计算两个“稀疏数组”的交集与并集。

#include <stdio.h>
#include <stdlib.h>
int *Intersection(int *a,int an,int *b,int bn) {int cn=an>bn?bn:an;int *C;C=(int*)malloc(sizeof(int)*cn);for(int i=0; i<cn; i++) {if(a[i]==b[i]&&b[i]==1)C[i]=1;elseC[i]=0;}return C;
}int *Union(int *a,int an,int *b,int bn) {int cn=an>bn?an:bn;int dn=an>bn?bn:an;int *C;C=(int*)malloc(sizeof(int)*cn);for(int i=0; i<dn; i++) {if(a[i]==1||b[i]==1)C[i]=1;elseC[i]=0;}if(an>bn)for(int j=dn; j<an; j++)C[j]=a[j];else for(int j=dn; j<bn; j++)C[j]=b[j];return C;
}int main() {int list1[10];int list2[10];for(int i=0; i<5; i++)scanf("%d",&list1[i]);for(int i=0; i<8; i++)scanf("%d",&list2[i]);int *F = Intersection(list1,5,list2,8);for(int i=0; i<5; i++)printf("%d ",F[i]);printf("\n");int *T = Union(list1,5,list2,8);for(int i=0; i<8; i++)printf("%d ",T[i]);free(T);return 0;
}

4.现有两个机器人M1和M2,它们要进行对话,规则如下:

M1只会说“Y”、“N”和“2”,M2只会说“y”、“n”和“1”;M1先主动说话,当一个机器人说的不是数字时,它自己必须继续说话,对方不能说话,当一个机器人说出数字时,它自己停止说话,此时对方可以接着说话,也可以不说话从而结束对话。

#include <stdio.h>int judge(char *s) {int i=0;if(s[0]!='Y'&&s[0]!='N'&&s[0]!='2')return 0;while(s[i]!='\0') {if(s[i]=='Y'||s[i]=='N')if(s[i+1]!='Y'&&s[i+1]!='N'&&s[i+1]!='2')return 0;else if(s[i]=='2')if(s[i+1]!='y'&&s[i+1]!='n'&&s[i+1]!='1'&&s[i+1]!='\0')return 0;else if(s[i]==1)if(s[i+1]!='Y'&&s[i+1]!='N'&&s[i+1]!='2'&&s[i+1]!='\0')return 0;elsereturn 0;i++;}return 1;
}

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



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

相关文章

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