GDPU C语言 天码行空7

news2024/11/23 17:15:01

1. 数组最大值交换

在这里插入图片描述
⭐ 1e9:10的9次方

#include<stdio.h>

int main()
{
	int n, i,idx = 0;//idx 记录第一个出现的最大值下标
	scanf("%d", &n);
	double a[30];
	double max = -1e9;// 1e9 表示10的9次方,十亿,int 的最大范围级别
	for (i = 0; i < n; i++)
	{
		scanf("%lf", &a[i]);
		if (a[i] > max)
		{
			idx = i;
			max = a[i];
		}
	}
	int tmp = a[0];
	a[0] = a[idx];
	a[idx] = tmp;

	for (i = 0; i < n; i++)
		printf("%lf  ", a[i]);

	return 0;
}

6. 围圈报数

在这里插入图片描述
⭐ 状态数组:记录每一位同学是否 有旗帜
⭐ 循环:取模就好,特判一下 n

#include<stdio.h>

int main()
{
	int n, m, i,j;
	scanf("%d %d", &n, &m);
	char w[10]= { '1', 'l', 'e', 'v', 'e', 'l', '1' };
	char st[1000];//状态数组,表示每个学生的状态
	for (i = 0; i < 1000; i++)
		st[i] = 'x';//初始化位 x 表示无旗

	int idx = 0;//表示当前报数的同学的数组下标
	for (i = 0; i < 7; i++){// i 表示的是第 i 面旗帜
		for (j = 1; j <= m; j++){// j 枚举报数的值,枚举到n
			idx++;
			while (st[idx%n] != 'x')//非 x 表示已有旗出列啦
				idx++;//跳过这位同学
		}
		if (idx == n)// n % n == 0; 特殊处理一下 第 n 位同学的情况
			st[idx] = w[i];
		else
			st[idx%n] = w[i];

	}

	for (i = 1; i <= n; i++){
		if (st[i] != 'x')
			printf("%d %c\n", i, st[i]);
	}

	return 0;
}

2. 统计数字字符个数

在这里插入图片描述
⭐ 0 的 ACSCII值是 48

#include<stdio.h>

int main()
{
	int cnt = 0;
	char c;
	int flag = 0;//出现是否第一个 # 

	while (1)//写个死循环
	{
		scanf("%c", &c);
		if (c == '#')
		{
			if (flag)
				break;//两个 # 结束
			flag = 1;
		}
		else
		{
			flag = 0;//清掉第一个 #
			if (c >= '0' && c <= '9')
				cnt++;
		}
	}
	printf("sum=%d", cnt);
	return 0;
}

3 . 求鞍点

在这里插入图片描述

⭐ 鞍点:是指该位置上的元素值在该行上最大、在该列上最小。

#include<stdio.h>

int main()
{
	int a[7][7];
	int max[7], min[7];//max 记录第 i 行的最大值,min记录第 j 列的最小值
	int i, j, n;
	
	for(i = 0; i < 7; i++)
	{
		max[i] = -1e9;
		min[i] = 1e9;
	}
	scanf("%d", &n);
	for(i = 0; i < n; i++)
	{
		for(j = 0; j < n; j++)
		{
			scanf("%d", &a[i][j]);
			if(a[i][j] > max[i])
				max[i] = a[i][j];
			if(a[i][j] < min[j])
				min[j] = a[i][j];
		}
	}
	
	for(i = 0; i < n; i++)
	{
		for(j = 0; j < n; j++)
		{
			if(a[i][j] == max[i] && a[i][j] == min[j])
			{
				printf("a(%d,%d)=%d", i, j, a[i][j]);
				return 0;
			}
		}
	}

	printf("NO");
	return 0;
}

4. 二维数组删除指定值的元素

在这里插入图片描述
⭐ 师说:不能改原来代码,好啊
① 先看变量,只要 count 计数
② 填代码处【1】: a[i][j] != num 表示有效值(未删),说明 count 记录的是有效值
③ 填代码处【2】:按行输出,输出个数小于 count 即可

#include <stdio.h>

int main(){

	int i, j, count = 0, num;

	int a[5][5] = { { 1, 2, 3, 4, 5 }, { 2, 3, 4, 5, 6 }, { 3, 4, 5, 6, 7 }, { 0, 1, 2, 3, 4 }, { 6, 7, 8, 9, 0 } };

	scanf("%d", &num);

	for(i = 0; i<5; i++)
		for(j = 0; j<5; j++)
			if(a[i][j] != num){
		//【1】//请填入一行或多行代码
				a[count/5][count%5] = a[i][j];
				count++;//count记录有效值个数
			}
			

	for(i = 0; i<5; i++){//输出
		//【2】//请填入一行或多行代码
		for(j = 0; j < 5; j++)
		{
			if(i * 5 + j + 1 == count)//输出完有效数字后直接结束程序(数组下标从 0 开始,判断时得 +1 )
				return 0;
			printf("%3d", a[i][j]);
		}

		printf("\n");
	}
	return 0;
}

5. 小猴修仙

⭐ 特判滑到地面的情况即可

#include <stdio.h>

int main() {
	int k, n,i;
	scanf("%d%d", &k, &n);
	int h = 0;//记录小猴现在的高度
	for(i = 0; i < n; i++) {
		int m, p;
		scanf("%d%d", &m, &p);
		h += m;//白天 上爬
		if(h >= k)//只要爬到了 k 就成功了,收工 
		{
			printf("YES\n");
			return 0;
		}
		h -= p;//晚上 下滑
		if(h < 0)//最次就是滑倒地面,不存在打入地府
			h = 0;
	}
	printf("NO\n");
	return 0;
}

程序片段编程题

1. 回文数组

在这里插入图片描述
在这里插入图片描述
🤠 碰撞双指针 + (代码规范)
😋 ans 记录结果,left right 表示作用向中间移动的下标(指针),flag 记录是否有解


⭐ 代码片段1
🐷 方式1:简单粗暴,出结果直接结束程序(OI 首选)

printf("%d", ans);
return 0;

🐷 方式2:统一结果(结果统一在最后输出,flag记录是否有解)(便于后期维护调试)

flag = 1;
break;

⭐ 代码片段2
🐷 合并了就跳过 1 个就好啦

a[left + 1] += a[left];
left++;
ans++;

2. 判断回文数

在这里插入图片描述


🤠 代码片段1
⭐ 每次取出 x 的最低位

a[i++] = x%10

🤠 代码片段2
⭐ 数组的起点是 0,终点是 i-1, p是从两端向中间的偏移量

a[0 + p] != a[i-1 - p]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目

STM32CubeMX下载 RT-Thread Studio下载 安装好RT-Thread Studio后&#xff0c;先打开RT-Thread SDK管理器确认有没有自己MCU需要的SDK包&#xff0c;直接安装好之后里面是有STM32F1系列的SDK包&#xff0c;其他的需要自己安装。 之后点击文件→新建→RT-Thread项目&#xff0…

C++ 实现 matlab 的 zp2tf 函数

文章目录1. matlab 的 zp2tf 函数的作用2. matlab 的 zp2tf 函数的使用方法3. C实现3.1 complex.h 文件3.2 zp2tf.h 文件4. 测试结果4.1 测试文件4.2 测试结果1. matlab 的 zp2tf 函数的作用 作用是将极点形式的 H(s) 函数的分母展开 2. matlab 的 zp2tf 函数的使用方法 [z,…

ICASSP2023 | 基于多任务学习的保留背景音的语音转换

在影视、有声书内容中&#xff0c;背景音是一种表现丰富的艺术形式。语音转换&#xff08;Voice Conversion&#xff09;如能将源说话人语音转换成目标说话人语音的同时&#xff0c;保留源语音中的背景音&#xff0c;将会提供更沉浸的语音转换体验。之前的语音转换研究主要关注…

低代码平台很赞,用2个小时,搭出1套应用

最近低代码很火&#xff0c;到处都是低代码的尝试贴&#xff0c;笔者今天也决定深入体验一下&#xff0c;感受它的便捷程度。 在案例开始之前&#xff0c;我们先来聊聊概念。 一、低代码 低代码实质上并不是一个新颖的话题&#xff0c;也不是最近才有的技术突破和创新&#xf…

Python--异常处理机制

Python异常处理机制 1、什么是异常处理&#xff1a; 程序运行时常会碰到一些错误&#xff0c;例如除数为 0、年龄为负数、数组下标越界等&#xff0c;这些错误如果不能发现并加以处理&#xff0c;很可能会导致程序崩溃。 可以简单的理解异常处理机制&#xff0c;就是在程序运…

Nginx生产环境配置、elasticsearch生产环境配置、rocketmq生产环境配置 (史上最全)

Nginx实现10万并发 在优化内核时&#xff0c;可以做的事情很多&#xff0c;不过&#xff0c;我们通常会根据业务特点来进行调整&#xff0c;当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时&#xff0c;期内核参数的调整都是不同的&#xff0c; 概述&am…

计算机组成原理——第五章中央处理器

半生风雨半生伤&#xff0c;半醉半醒半心凉 文章目录前言5.1 CPU的功能和基本结构5.2 指令周期的数据流5.3.1 单总线结构5.3.2 专用通路结构前言 之前我们就说过CPU主要包括两个部分&#xff0c;运算器和控制器&#xff0c;运算器主要是实现算数运算.逻辑运算&#xff0c; 运算…

React 搜索时遇到的坑

一、业务场景&#xff1a; 最近在优化React的天枢项目里面&#xff0c;搜索时遇到了一些问题。为了大家后面遇到和我一样的问题&#xff0c;给大家分享一下 二、问题描述&#xff1a; 1.点击搜索按钮&#xff0c;报以下错误。 TypeError: Converting circular structure to J…

全景丨0基础学习VR全景制作,平台篇:如何从素材库发布VR漫游

大家好欢迎观看蛙色平台使用教程 大家可以将创建作品理解成搭建房子&#xff0c;建房子需要基础的砖块、木头、钉子等原材料&#xff0c;房子成品是多种原材料的有机组合&#xff0c;而蛙色VR平台在创建作品前&#xff0c;也需要先准备对应的基础原材料。当前蛙色VR素材上传类型…

C++实现前缀树

文章目录1. 什么是前缀树2. 前缀树的实现2.1 前缀树的基本结构2.2 插入2.3 word出现了几次2.3 word作为前缀出现几次2.4 删除1. 什么是前缀树 假设这里有一个字符串数组&#xff0c;和一个树的根结点&#xff1a; 这个结点的pass意思是&#xff1a;有几个字符通过了这个结点。…

Golang中是否可以无限开辟协程以及如何控制协程的数量?

文章目录1. Golang中是否可以无限开辟协程&#xff1f;2. 不控制goroutine数量引发的问题3. 如何控制goroutine的数量&#xff1f;⭐️3.1 只用有buffer的channel3.2 channel与sync同步组合方式3.3 利用无缓冲channel与任务发送/执行分离方式1. Golang中是否可以无限开辟协程&a…

腾讯轻联中多维表记录id是什么?如何获取记录id?

在腾讯文档智能表、金山轻维表、维格表需要去【更新表格数据】的时候&#xff0c;经常会需要输入记录id&#xff08;英文record id&#xff09;&#xff0c;很多用户也会有疑问&#xff0c;什么是记录id&#xff0c;如何获取记录id等。 金山、维格表、腾讯文档的记录ID是什么&a…

字节跳动CVPR 2023论文精选来啦(内含一批图像生成新研究)

计算机视觉领域三大顶会之一的 CVPR 今年已经开奖啦。 今年的 CVPR 将于六月在加拿大温哥华举办&#xff0c;和往年一样&#xff0c;字节跳动技术团队的同学们收获了不少中选论文&#xff0c;覆盖文本生成图像、语义分割、目标检测、自监督学习等多个领域&#xff0c;其中不少…

[ROC-RK3568-PC] [Firefly-Android] 10min带你了解Camera的使用

&#x1f347; 博主主页&#xff1a; 【Systemcall小酒屋】&#x1f347; 博主追寻&#xff1a;热衷于用简单的案例讲述复杂的技术&#xff0c;“假传万卷书&#xff0c;真传一案例”&#xff0c;这是林群院士说过的一句话&#xff0c;另外“成就是最好的老师”&#xff0c;技术…

SVN利用 AS 进行代码对比的方法

第 1 种&#xff1a;如果我们是从 SVN 检出的项目&#xff0c;并且想比较本地代码与从 SVN 检出时的代码相比都有那些区别&#xff0c;可以按如下步骤操作 如上图所示&#xff0c;在代码编辑区&#xff0c;右键唤出功能菜单&#xff0c;然后选择Subversion&#xff0c;进而会展…

沉浸式翻译 – 支持 PDF、EPUB、网页,可同时显示原文与译文的双语翻译工具

使用的理由 自从谷歌翻译不再对大陆用户提供服务后。内心是一阵酸痛的&#xff0c;毕竟我认识单词单词不认识我啊&#xff0c;这简直是天书一般的存在。 期间网络中的很多大神也是推荐了不少方法让我再次拥抱谷歌翻译&#xff0c;比如教我修改 host 文件什么的&#xff0c;但这…

谁能真正替代你?AI辅助编码工具深度对比(chatGPT/Copilot/Cursor/New Bing)

写在开头 这几个月AI相关新闻的火爆程度大家都已经看见了&#xff0c;作为一个被裹挟在AI时代浪潮中的程序员&#xff0c;在这几个月里我也是异常兴奋和焦虑。甚至都兴奋的不想拖更了。不仅仅兴奋于AI对于我们生产力的全面提升&#xff0c;也焦虑于Copilot等AI辅助编码工具&am…

VUE3 学习笔记(八-1)中 EasyUI 组件的使用方法

目录 一、首先看官方 Accordion 文档说明 二、如何使用 Props 属性 三、如何使用 Methods&#xff08;方法&#xff09; 四、如何使用Methods&#xff08;方法&#xff09; 1. 通过 ref 给Vue3中的标签添加引用 2. 在script setup lang"ts"中定义变量引用 3. 增…

全面剖析OpenAI发布的GPT-4比其他GPT模型强在哪里

最强的文本生成模型GPT-4一、什么是GPT-4二、GPT-4的能力三、和其他GPT模型比较3.1、增加了图像模态的输入3.2、可操纵性更强3.3、复杂任务处理能力大幅提升3.4、幻觉、安全等局限性的改善3.6、风险和缓解措施改善更多安全特性3.7、可预测的扩展四、与之前 GPT 系列模型比较五、…

边缘计算那些事儿—边缘智能技术

0 背景 边缘智能是边缘计算中一个非常重要的方向。它将边缘计算和人工智能算法结合起来&#xff0c;在边缘设备上就近处理目标检测、物体跟踪&#xff0c;识别等任务。这种处理方式可以降低时延&#xff0c;减少数据上送云端对回传网络的冲击&#xff0c;同时保证数据的隐私和安…