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

相关文章

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Go 语言中的 Struct Tag 的用法详解

《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用

mysql中的group by高级用法详解

《mysql中的groupby高级用法详解》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,本文给大家介绍mysql中的groupby... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细