高级语言期末2018级A卷(计算机学院)

1.输出S的值,精度1e-6

#include <stdio.h>

int main() {
	int i=1;
	double flag=1.0/(2*i-1)*2*i/(2*i-1);
	double sum=0;
	while(flag>1e-6) {
		sum+=flag;
		i++;
		flag=1.0/(2*i-1)*2*i/(2*i-1);
	}
	printf("%lf",sum);
}

2.编写函数,对n个字符串按字典顺序排序限定函数名void sort(char st[ ][10], int n)

#include <stdio.h>

void strcpy(char *str1,char *str2) {
	int i=0;
	while(str1[i]!='\0') {
		str2[i]=str1[i];
		i++;
	}
	str2[i]='\0';
}

int strcmp(char *str1,char *str2) {
	int i=0;
	while(str1[i]!='\0'&&str2[i]!='\0') {
		if(str1[i]>str2[i])
			return 1;
		else if(str1[i]<str2[i])
			return -1;
		else
			i++;
	}
	if(str1[i]=='\0'&&str2[i]=='\0')
		return 0;
	else if (str1[i]=='\0')
		return -1;
	else
		return 1;
}


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])==1) {
				strcpy(st[j],temp);
				strcpy(st[j+1],st[j]);
				strcpy(temp,st[j+1]);
			}
}

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;
}

3.编写递归函数,实现对有序数组的二分查找

#include <stdio.h>

int search(int *a,int left,int right,int key) {
	while(left<=right) {
		int mid=(left+right)/2;
		if(a[mid]==key)
			return mid;
		else if(a[mid]<key)
			return (a,mid+1,right,key);
		return(a,left,mid-1,key);
	}
	return -1;
}

4.成绩信息包含:姓名,学号,讨论成绩,报告成绩,测试成绩五项信息,规定:
实验成绩 = 讨论成绩(20%)+报告成绩(20%)+测试成绩 (60%)
1)创建结点类型;
2)假如所有信息都存储在文件2018.txt中,创建链表;
3)对题中的里链表按实验成绩,从高到低排序

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

typedef struct node {
	char name[20];
	int num;
	int repscore;
	int expscore;
	int testscore;
	struct node *next;
} node;

struct node *create() {
	FILE *file;
	if((file=fopen("2018.txt","r"))==NULL) {
		printf("open error");
		exit(0);
	}
	struct node *head=(struct node*)malloc(sizeof(struct node));
	head->next=NULL;
	struct node *p;
	while(!feof(file)) {
		p=(struct node *)malloc(sizeof(struct node));
		fscanf(file,"%s %d %d %d %d",&p->name,&p->num,&p->repscore,&p->expscore,&p->testscore);
		p->next=head->next;
		head->next=p;
	}
	fclose(file);
	return head->next;
}

struct node *sort(struct node *head) {
	if(head==NULL||head->next==NULL)
		return head;
	struct node *dummyhead=(struct node *)malloc(sizeof(struct node));
	dummyhead->next=head;
	struct node* p=head->next,*pre=dummyhead;
	while(p!=NULL) {
		struct node *temp=p->next;
		while(pre->next!=NULL&&pre->next->expscore>p->expscore)
			pre=pre->next;
		p->next=pre->next;
		pre->next=p;
		p=temp;
		pre=dummyhead;
	}
	return dummyhead->next;
}

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

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

相关文章

C++_STL使用手册

STL基础 STL全称为 standard template library&#xff0c;中文可译为标准模板库或者泛型库&#xff0c;其包含有大量的模板类和模板函数&#xff0c;是 C 提供的一个基础模板的集合;STL由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成&#xff0c;其中后面…

【AI绘画·24年1月最新】Stable Diffusion整合包安装!解压即用--秋葉aaaki 大佬的作品,试用

前言 Stable Diffusion 之前费老大的劲部署安装&#xff0c;解决报错。搞完之后&#xff0c;突然发现有个现成集成包可以用&#xff0c;真是效率高到不行&#xff0c;今天搞下来试试 我电脑配置&#xff1a; CPU: 12th Gen Intel Core™ i7-12700F 2.10 GHz 内存32G&#xff0…

DOM 获取父子节点

DOM 是以树状结构排列的&#xff0c;所以父子关系是相对的&#xff0c;当li为我们的目标节点的时候&#xff0c;ul为其父节点&#xff0c;其他li为它的兄弟节点&#xff0c;li里面包含的标签为子节点&#xff0c;以此类推。 那我们如何找父节点&#xff1f; 元素.parentNode&am…

NTT模板

//一个n项和一个m项求卷积 typedef long long LL; const int p 998244353, G 3, Gi 332748118;//这里的Gi是G的除法逆元 const int N 5000007; const double PI acos(-1); int n, m; int res, ans[N]; int len 1;// int L;//二进制的位数 int RR[N]; LL a[N], b[N]; inli…

5G提速工业物联网发展

对于普通消费者来说&#xff0c;5G的概念可能就是更快的网速&#xff0c;5G带来的上网体验提升是最直观的&#xff0c;因为拿手机可以实时观看高清晰度的视频&#xff0c;且无需太久的等待时间。 而更低的时延与更高的可靠性对C端用户带来的体验改善&#xff0c;相对来说就小很…

16. QML中的一些粒子特效

1.说明 在使用unity开发游戏时&#xff0c;都会涉及到一些特效的开发。实际上在QML中也提供了一些可以做特效的控件&#xff0c;称之为粒子系统。本篇博客主要记录一些使用粒子做特效的方式。 特效–火焰效果&#xff1a; 2. 案例汇总 2.1 案例1 效果展示&#xff1a; 粒子…

Nginx网络服务五-----rewrite和反向代理

1.rewrite 1.1rewrite指令 通过正则表达式的匹配来改变URI&#xff0c;可以同时存在一个或多个指令&#xff0c;按照顺序依次对URI进行匹配&#xff0c;rewrite主要是针对用户请求的URL或者是URI做具体处理 官方文档&#xff1a; https://nginx.org/en/docs/http/ngx_http_r…

Flutter开发进阶之Flutter Web加载速度优化

Flutter开发进阶之Flutter Web加载速度优化 通常使用Flutter开发的web加载速度会比较慢&#xff0c;原因是Flutter web需要加载的资源处于国外&#xff0c;以下是据此所做的相应优化。 一、FlutterWeb打包 flutter build web --web-renderer canvaskit使用新命令打包 flut…

Edge 开启网页选择功能(Web Select)

微软禁用了Web Select功能 本着什么功能好用就禁用什么的原则, 微软又禁用了Web Select的功能, 相信这个功能用过的人都说好, 还有好多人不知道这个功能 开启方式, 快捷方式添加启动参数 --enable-featuresmsEdgeAreaSelect 如图 重启电脑或者杀掉进程才能生效 kill命令 kil…

Linux alias命令(为复杂命令创建别名,其中命令可带选项或参数)

文章目录 Mastering the Linux alias Command&#xff08;精通Linux的alias命令&#xff09;1. Understanding the alias Command&#xff08;理解alias命令&#xff09;示例Ubuntu20.04 arm操作系统OpenEuler20.03 arm操作系统 2. Basic Usage of alias&#xff08;alias的基本…

【多智能体】MetaGPT配置教程(应用智谱AI的GLM-4)

MetaGPT配置教程&#xff08;使用智谱AI的GLM-4&#xff09; 文章目录 MetaGPT配置教程&#xff08;使用智谱AI的GLM-4&#xff09;零、为什么要学MetaGPT一、配置环境二、克隆代码仓库三、设置智谱AI配置四、 示例demo&#xff08;狼羊对决&#xff09;五、参考链接 零、为什么…

Flutter Dio进阶:使用Flutter Dio拦截器实现高效的API请求管理和身份验证刷新

Flutter笔记 使用Flutter Dio拦截器实现高效的API请求管理和身份验证刷新 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article…

《开源软件的影响力》

目录 开源软件的影响力 技术影响力&#xff1a; 经济影响力&#xff1a; 社会影响力&#xff1a; 结论&#xff1a; 开源软件的影响力 简介&#xff1a; 在当今快速发展的科技领域&#xff0c;开源软件已经成为了一种重要的开发模式。本文将重点探讨开源软件对技术、经济和…

购房合同的注意事项是什么呢?房子备案需要多久?

房屋登记需要多长时间&#xff1f; 购房合同要注意什么&#xff1f; 2019/02/20 10:02:07 来源&#xff1a;方天下观点&#xff08;6993&#xff09; [摘要] 购买房屋后&#xff0c;需要向房管部门办理房屋登记。 这样可以证明房子是在业主名下的&#xff0c;所以需要了解房屋…

android程序员面试笔试宝典,Android开发社招面试总结

部分面试常问的面试专题 一、Java篇 1.多线程并发&#xff1b; sleep 和 wait 区别join 的用法线程同步&#xff1a;synchronized 关键字等线程通信线程池手写死锁 2.Java 中的引用方式&#xff0c;及各自的使用场景 3.HashMap 的源码 4.GC(垃圾回收)是什么&#xff1f;如何…

2024年投资现货白银的好处有哪些?

地缘局势不断紧张&#xff0c;美联储加息虽然有所推迟&#xff0c;但仍预计今年不得不加息。众多因素的影响之下&#xff0c;不光黄金&#xff0c;现货白银也受到投资者的热捧。一般说起避险品种&#xff0c;我们首先想到的是黄金&#xff0c;而不是白银&#xff0c;但为什么还…

前端Ajax获取当前外网IP地址并通过腾讯接口解析地理位置

目录 一、获取访问端IP地址 二、可用的IP获取接口 1、韩小韩IP获取接口&#xff1a; 2、ipify API 附3、失败的太平洋接口 三、腾讯位置服务-IP位置查询接口 一、获取访问端IP地址 原计划使用后端HttpServletRequest 获取访问端的IP地址&#xff0c;但在nginx和堡垒机等阻…

Vision Pro与Quest生态对比

数据对比情况分析&#xff1a; Quest应用和AVP应用在类型上存在差异。Quest更偏向于游戏应用&#xff0c;而AVP则更多地关注非游戏应用。这可能反映了两个平台在定位和受众群体上的不同。在技术选择上&#xff0c;Quest游戏主要使用不太适合应用开发的3D游戏引擎&#xff0c;而…

ZYNQ-AXI4_LITE

文章目录 数据接口 数据接口 分为三个通道&#xff0c;写地址通道&#xff0c;写数据通道&#xff0c;应答通道。其中AWPROT,WSTRB用的比较少。 WSTRB为写的数据的掩码&#xff0c;写的数据为32bit&#xff0c;4个Byte&#xff0c;所以WSTRB为4bit位宽&#xff0c;WSTRB为4位对…

金三银四面试必问:Redis真的是单线程吗?

文章目录 01 Redis中的多线程1&#xff09;redis-server&#xff1a;2&#xff09;jemalloc_bg_thd3&#xff09;bio_xxx&#xff1a; 02 I/O多线程03 Redis中的多进程04 结论▼延伸阅读 由面试题“Redis是否为单线程”引发的思考 作者&#xff1a;李乐 来源&#xff1a;IT阅读…