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

1.斐波那契序列的第n项可以表示成以下形式,编写一个非递归函数,返回该数列的第n项的数值

f(n)=\left\{\begin{matrix} 1 ,n=1& & \\ 1,n=2& & \\ f(n-1)+f(n-1),n>2& & \end{matrix}\right.

#include <stdio.h>

int func(int n) {
	if(n==1||n==2)
		return 1;
	int p=1,q=1,num;
	for(int i=3; i<=n; i++) {
		num=p+q;
		q=p;
		p=num;
	}
	return num;
}

2.在MXN的二维数组A中,已经存放了MXN个整型元素,其中,M和N均是大于1的常量。编写一段代码,用来对A中的元素按元素数值大小进行排序。排序的规则是: (1) 数组A的每一行中的元素,均按升序排列;(2)当i大于1时,数组A的任意第i行中的任意元素值,均不小于第i-1行中的任意元素值。

#include <stdio.h>
#include <stdlib.h>

void sort(int *arr,int n) {
	for(int i=0; i<n-1; i++)
		for(int j=0; j<n-i-1; j++)
			if(arr[j]>arr[j+1]) {
				int temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp;
			}
}

int finsort(int **arr,int m,int n) {
	int *finarr=(int *)malloc(sizeof(int)*m*n);
	int k=0;
	for(int i=0; i<m; i++)
		for(int j=0; j<n; j++)
			finarr[k++]=arr[i][j];
	sort(finarr,m*n);
	k=0;
	for(int i=0; i<m; i++)
		for(int j=0; j<n; j++)
			arr[i][j]=finarr[k++];
}

3.编写一段代码,对给定的由整型元素节点构成的链表L进行插入节点操作,方案是:任意两个相邻节点之间插入一个新节点,新节点中的元素值是两个相邻节点中的元素值之和。说明: (1) 简要说明你所采用的程序设计语言如何表示链表;(2)假设L中的有效节点个数大于1;(3)只针对L中原有节点进行插入节点操作。

#include <stdio.h>
#include <stdlib.h>

typedef struct node {
	int key;
	struct node *next;
} node;

struct node *insert(struct node *head) {
	if(head->next==NULL)
		return NULL;
	struct node *p=head->next,*pre=head;
	while(p!=NULL) {
		struct node *temp=(struct node *)malloc(sizeof(struct node));
		temp->key=p->key+pre->key;
		pre->next=temp;
		temp->next=p;
		pre=p;
		p=p->next;
	}
	return head;
}

4.某程序设计语言中,对实数的定义如下语法图所示:

语法图中的数字是属于[0,9]中的任意普通数字。这个语法图定义的实数是C、 C++、Java 等程序设计语言中实数的子集,所以,这样的实数可以与你答题时所采用的程序设计语言中的实数进行运算。定义并实现一个函数,它带有两个参数,第一个参数代表个字符串,第二个参数代表一个实数,函数的返回值是布尔类型,其功能是:试图把参数字符串根据语法图翻译成一个实数,若能够成功翻译,则进一步用翻译出的实数与实数参进行数值比较,若大于实数参数则函数返回真值;若参数字符串不满足语法图对实数的定义,或者,翻译出的实数不大于实数参数,则返回假值。例如:当参数字符串分别为”2a.4”、”-3.14”、”3.b"时,因不满足语法图对实数的定义,则无论实数参数的值是多少,均返回假值;;当给定参数字符串分别为”123”、”123.”、“123. 789”时,由于它们均满足语法图对实数的定义,所以可以把它们翻译成实数,随后与给定的实数参数进行数值比较,根据比较结果给出返回值。

#include <stdio.h>
#include <stdbool.h>

bool judge(char *str,double num) {
	double a=0,b=0;
	int i=0;
	while(str[i]!='\0') {
		if(str[i]>='0'&&str[i]<='9')
			a=a*10+str[i]-'0';
		else
			break;
		i++;
	}
	if(str[i]!='\0') {
		if(str[i]!='.') {
			i++;
			double time=0.1;
			while(str[i]!='\0') {
				if(str[i]>='0'&&str[i]<='9') {
					b=b+(str[i]-'0')*time;
					time*=0.1;
				} else
					return false;
				i++;
			}
		} else
			return false;
	}
	if(a+b>num)
		return true;
	else
		return false;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/442162.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Win11 没有网络bug

1.问题描述 没有网络&#xff0c;dns一直是固定的&#xff0c;但是dns已经是自动获取了(MAC地址随机) 2.解决办法 1.首先&#xff0c;删除所有网络的手动dns配置,控制中心那个dns管理没有用,在设置中删除网络,不然问题还会出现 - 2.然后&#xff0c;进入注册表\HKEY_LOCAL_MACH…

数据结构之栈详解(C语言手撕)

&#x1f389;个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名乐于分享在学习道路上收获的大二在校生 &#x1f648;个人主页&#x1f389;&#xff1a;GOTXX &#x1f43c;个人WeChat&#xff1a;ILXOXVJE &#x1f43c;本文由GOTXX原创&#xff0c;首发CSDN&…

汉服|高校汉服租赁网站|基于Springboot的高校汉服租赁网站设计与实现(源码+数据库+文档)

高校汉服租赁网站目录 目录 基于Springboot的高校汉服租赁网站设计与实现 一、前言 二、系统设计 三、系统功能设计 1、汉服信息管理 2、汉服租赁管理 3、公告管理 4、公告类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选…

滤波器:工作原理和分类及应用领域?|深圳比创达电子EMC

滤波器在电子领域中扮演着重要的角色&#xff0c;用于处理信号、抑制噪声以及滤除干扰。本文将详细介绍滤波器的工作原理、分类以及在各个应用领域中的具体应用。 一、滤波器的定义和作用 滤波器是一种电子设备&#xff0c;用于选择性地通过或阻塞特定频率范围内的信号。其主…

目标检测5:采用yolov8, RK3568上推理实时视频流

上一个效果图&#xff0c;海康球机对着电脑屏幕拍&#xff0c;清晰度不好。 RK3568接取RTSP视频流&#xff0c;通过解码&#xff0c;推理&#xff0c;编码&#xff0c;最终并把结果推出RTSP视频流。 RK3568 推理 数据集采用coco的80个种类集&#xff0c;通过从yovo8.pt&#x…

【Python】新手入门:什么是变量?如何在Python中声明变量?变量有哪些使用方式?

【Python】新手入门&#xff1a;什么是变量&#xff1f;如何在Python中声明变量&#xff1f;变量有哪些使用方式&#xff1f; &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【…

【Java】:JDK、JRE、和JVM之间的关系

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译&#xff0c;编译后生成的 .class 文件是由字节码组成的与平台无关、面向JVM的文件。最后启动Java虚拟机来运行 .class 文件&#xff0c;此时JVM会将字节码转换成平台能够理解的形式来运行。 JDK与JRE简…

EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测

EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测 目录 EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.GCN基于图卷积神经网络的数据分类预测 Matlab2023 2.多输入单输出的分类预测&#xf…

Matlab

文章目录 fopen (打开文件)fread (读取文件)sizeAprecisionmachinefmt fwrite (将数据写入二进制文件)语法 fprintf (将数据写入文本文件&#xff09;语法格式操作符转换字符标志特殊字符 zeros (创建全零数组)语法 for 循环语句length (最大数组维度的长度)caseif, elseif, el…

C++的面向诗篇:类的叙事与对象的旋律

个人主页&#xff1a;日刷百题 系列专栏&#xff1a;〖C/C小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 &#x1f30e;欢迎各位→点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ​ ​ 一、面向对象的定义 学习C语言时&#xff0c;我们就经常听说C语言是面向过程的&#xff0c;…

Webpack常用配置及作用

一 、 二、 三、 四、 五、 六、 七、 八、

大载重无人机基础技术,研发一款50KG负重六旋翼无人机技术及成本分析

六旋翼无人机是一种多旋翼无人机&#xff0c;具有六个旋翼&#xff0c;通常呈“X”形布局。它采用电动串列式结构&#xff0c;具有垂直起降、悬停、前飞、后飞、侧飞、俯仰、翻滚等多种飞行动作的能力。六旋翼无人机通常被用于航拍、农业植保、环境监测、地形测绘等领域。 六旋…

WordPress建站入门教程:如何选择和设置固定链接结构?

我们成功搭建好WordPress网站后&#xff0c;发布的文章对应的URL地址默认是使用“日期和名称型”&#xff0c;即是网站域名跟着的是年月日&#xff0c;最后是文章标题&#xff0c;如http://www.yigujin.com/2024/03/06/免费响应式WordPress博客主题JianYue/ 为了让我们的文章U…

原油数据处理:1.聚类、盐含量测定与近红外光谱快速评估

一、原油种类的聚类分析 在塔里木盆地塔河油田的原油处理过程中&#xff0c;需要对原油进行地球化学特征研究&#xff0c;以了解其成因和特征。根据地球化学手段的综合研究结果&#xff0c;塔河油田奥陶系原油属于海相沉积环境&#xff0c;成熟度较高&#xff0c;正构烷烃分布…

1+x中级题目练习复盘(一)

1、MOD(m,n) 返回m除以n的余数 2、物理备份可以分为冷备份和热备份。冷备份又称脱机备份&#xff0c;是指在关闭数据库后进行的备份&#xff1b;而热备份也称为联机备份&#xff0c;是在数据库运行的同时进行备份&#xff0c;但热备份存在着难以维护等风险。 3、删除表使用…

算法---双指针

双指针 常见的双指针有两种形式&#xff0c;⼀种是对撞指针&#xff0c;⼀种是左右指针。 1.对撞指针&#xff1a;⼀般用于顺序结构中&#xff0c;也称左右指针。 对撞指针从两端向中间移动。⼀个指针从最左端开始&#xff0c;另⼀个从最右端开始&#xff0c;然后逐渐往中间…

Python中的泛型编程

目录 1. 前言1.1 函数模板1.2 类模板1.3 Python中的泛型 2. TypeVar2.1 函数模板与类模板2.2 构造函数2.3 约束2.4 协变与逆变 Ref 1. 前言 泛型编程的引入主要是为了解决代码重用的问题。在没有泛型的情况下&#xff0c;如果你想要实现一个功能&#xff08;比如排序或查找&am…

韦根协议刷卡原理及代码实现

一、韦根协议原理 韦根接口在门禁行业广泛使用&#xff0c;是一个门禁行业的通信标准&#xff0c;通过两条数据线 DATA0&#xff08;D0&#xff09;和 DATA1 &#xff08;D1&#xff09;发送数据。目前用的最多的是韦根 34 和韦根 26&#xff0c;二者数据格式相同&#xff0c;…

(C语言)字符分类函数

目录 字符分类函数 1. iscntrl 2. isspace 3. isdigit 4. isxdigit 5. islower 6. isupper 7. isalpha 8. isalnum 9. ispunct 10. isgraph 11. isprint 字符分类函数 C语言中有一系列的函数是专门做字符分类的 &#xff0c;也就是一个字符是属于什么类型的字符的。…