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

news/2024/5/12 21:28:03/文章来源:https://blog.csdn.net/m0_56210953/article/details/136509952

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';elsebreak;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;} elsereturn false;i++;}} elsereturn false;}if(a+b>num)return true;elsereturn false;
}

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

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

相关文章

瑞_23种设计模式_模板方法模式

文章目录 1 模板方法模式&#xff08;Template Pattern&#xff09; ★ 钩子函数1.1 介绍1.2 概述1.3 模板方法模式的结构1.4 模板方法模式的优缺点1.5 模板方法模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析&#xff08;InputStre…

【测试工具系列】压测用Jmeter还是LoadRunner?还是其他?

说起JMeter&#xff0c;估计很多测试人员都耳熟能详。它小巧、开源&#xff0c;还能支持多种协议的接口和性能测试&#xff0c;所以在测试圈儿里很受欢迎&#xff0c;也是测试人员常用的工具&#xff0c;但是在企业级性能场景下可能会有性能瓶颈&#xff0c;更适合测试自己使用…

Grafana二次开发环境搭建

1 Grafana环境搭建 1.1 搭建后端服务 下载windows安装版文件grafana.com 1&#xff09;选择版本号&#xff1a;此处我选的8.3.3版本 2&#xff09;安装完成后&#xff0c;请记住安装目录 &#xff0c;我的是在 D:\software\Gragana833 安装完成后会自动运行, 3&#xff09;此…

2024年软考重大改革

中国计算机技术职业资格网 考试日期 考试级别 考试资格名称 5月25日至28日 高级 系统分析师 系统架构设计师 信息系统项目管理师 中级 软件设计师 网络工程师 软件评测师 电子商务设计师 嵌入式系统设计师 数据库系统工程师 信息系统管理工程师 初级 程序员 …

MySQL之体系结构和基础管理

前言 本文以linux系统的MySQL为例详细介绍MySQL的体系结构&#xff0c;因为在实际生产环境中MySQL的运行环境都是linux系统。同时介绍MySQL的基础管理&#xff0c;包括用户管理和权限管理等。 MySQL体系结构 MySQL客户端/服务器工作模型 MySQL是C/S架构&#xff0c;工作模型…

物联网,智慧城市的数字化转型引擎

随着科技的飞速发展&#xff0c;物联网&#xff08;IoT&#xff09;已成为推动智慧城市建设的关键力量。物联网技术通过连接各种设备和系统&#xff0c;实现数据的实时采集、传输和处理&#xff0c;为城市的智能化管理提供了强大的支持。在数字化转型的浪潮中&#xff0c;物联网…

VUE_nuxt启动只能通过localhost访问,ip访问不到:问题解决

修改项目根目录下的 package.json "config": {"nuxt": {"host": "0.0.0.0","port": "3000"} } 这样项目启动后就可以通过ip进行访问了

AutoDev 自定义 Agent:快速接入内部 AI Agent,构建 IDE 即 AI 辅助研发中心

在开源 AI IDE 插件 AutoDev 的 #51 issue 中&#xff0c;我们设计了 AutoDev 的 AI Agent 能力&#xff0c;半年后我们终于交付了这个功能。 在 AutoDev 1.7.0 中&#xff0c;你将可以接入内部的 AI Agent&#xff0c;并将其无缝与现有的 AI 辅助能力结合在一起。 本文将使用 …

使用awk和正则表达式过滤文本或字符串 - 详细指南和示例

当我们在 Linux 中运行某些命令来读取或编辑字符串或文件中的文本时&#xff0c;我们经常尝试将输出过滤到感兴趣的特定部分。这就是使用正则表达式派上用场的地方。 什么是正则表达式&#xff1f; 正则表达式可以定义为表示多个字符序列的字符串。关于正则表达式最重要的事情之…

【C++ STL详解】——string类

目录 前言 一、string类对象的常见构造 二、string类对象的访问及遍历 1.下标【】&#xff08;底层operator【】函数&#xff09; ​编辑 2.迭代器 3.范围for 4.at 5.back和front 三、string类对象的容量操作 1.size 和 length 2.capacity 3.empty 4.clear 5.res…

Python编程实验六:面向对象应用

目录 一、实验目的与要求 二、实验内容 三、主要程序清单和程序运行结果 第1题 第2题 四、实验结果分析与体会 一、实验目的与要求 &#xff08;1&#xff09;通过本次实验&#xff0c;学生应掌握类的定义与对象的创建、类的继承与方法的覆盖&#xff1b; &#xff08;2…

接收端编程、UDP编程练习、wireshrak抓包工具、UDP包头

我要成为嵌入式高手之3月6日Linux高编第十六天&#xff01;&#xff01; ———————————————————————————— 学习笔记 接收端 recvfrom #include <sys/types.h> #include <sys/socket.h> ssize_t recvfrom(int sockfd, void *buf, si…

一文学会搭建 cli 脚手架工具

文章目录 设置工具命令package.json bin 字段注释&#xff1a;#!/usr/bin/env node设置环境变量 接收命令选项参数process 实现commander 命令行交互&#xff1a;inquirer下载项目模板&#xff1a;download-git-repo执行额外命令&#xff1a;自动安装依赖child_processexeca 体…

Mybatis-Plus——05,乐观锁(新注解)

乐观锁&#xff08;新注解&#xff09; 一、数据库添加一个字段二、实体类添加version注解三、注册乐观锁插件四、测试一下4.1成功的乐观锁4.2失败的乐观锁————————创作不易&#xff0c;笔记不易&#xff0c;如觉不错&#xff0c;请三连&#xff0c;谢谢~~ 乐观锁实现方…

Flask python开发篇: 写一个简单的接口

第一步&#xff1a;新建flask项目 参考使用pycharm新建一个项目 打开pycharm&#xff0c;根据下面图中箭头顺序&#xff0c;新建一个flask的项目&#xff1b; 第二步&#xff1a;运行项目&#xff0c; 安装成功以后&#xff0c;会有个app.py文件&#xff0c;打开以后&#…

Kali Linux 2024.1

Kali Linux 2024.1刚刚发布&#xff0c;标志着这个备受欢迎的安全重点Linux发行版在今年的首次重大更新。以其先进的渗透测试和安全审计功能而闻名&#xff0c;它是安全专业人员和爱好者的首选工具。 Kali 2024.1 亮点 本次发布由 Linux 内核 6.6 提供支持&#xff0c;突出了…

借着ChatGPT的人机交互聊聊长连接

ChatGPT这两年可谓风靡全球&#xff0c;尤其是最近Sora视频模型的横空出世以及claude 3模型所具备的浅意识&#xff0c;更是像打开了新世界的大门。本文就从ChatGPT的网页聊天开始聊起&#xff08;有蹭热度之嫌&#xff0c;哈哈&#xff09;&#xff0c;聊聊长连接的发展历程和…

148个Chatgpt关键词汇总-有爱AI实战教程(二)

演示站点&#xff1a; https://ai.uaai.cn 技能模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 导读&#xff1a;在使用 ChatGPT 时&#xff0c;当你给的指令越精确&#xff0c;它的回答会越到位&#xff0c;举例来说&#xff0c;假如你要请它帮忙写文案&#xff0c;如…

来说说看到的求职路上可以提高的地方——简历

要进行求职的时候应该遇到的第一件事情就是简历。 随着看到的简历越来越多&#xff0c;也发现了一些问题&#xff0c;来开个帖子来说说这些问题。 格式 让参加面试的人最头疼的地方就是简历格式没有空格。 最近发现好多人的简历格式上都不空格&#xff0c;很多内容完全都在…

IntelliJ IDEA自定义关闭当前文件的快捷方式

前言 idea中关闭当前标签页的默认快捷键是CtrlF4,这个组合键在键盘上操作起来很是不方便&#xff0c;我们可以在设置中自定义自己习惯的快捷方式。 自定义步骤 要在 IntelliJ IDEA 中将关闭当前文件的快捷方式设置为 Alt Q&#xff0c;请按照以下步骤操作&#xff1a;打开 …