【C语言day03】

news2024/12/28 18:07:26

在这里插入图片描述

参数a是指针,要接收地址,BD错误。参数b可以接收的是char*,而&c的类型是char(*)[10],C错误

在这里插入图片描述
在这里插入图片描述

全局变量i,在main()中修改为5,第一次在prt()中执行循环输出三次'*',i被修改为8,回到main()中第二次调用prt()时,i<8
为假,循环结束没输出,执行一次print("\t"),再次回到主函数后i++变为9,i<=8为假,循环结束;

1、首先输入要输入的整数个数 n ,然后输入 n 个整数。输出为 n 个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。
题目来源

#include <stdio.h>

int main()
{
	int n;

	while (~scanf("%d", &n)) {
		
		int count1 = 0, count2 = 0, tmp;
		
		float sum = 0;
		
		for (int i = 0; i < n; i++) {
			
			scanf("%d", &tmp);
	
			if (tmp < 0) {
				count1++; //统计负数个数
			}
			else if (tmp > 0) {
				sum += tmp; //正数求和
				count2++; //统计大于0的正数个数,这样是因为题目说明0不算在内
			}

		}
        if(count2 != 0)
    		printf("%d %.1lf\n", count1, sum / count2);
        else
    		printf("%d %.1lf\n", count1,0.0);

    }
	return 0;
}

2、有一个长度为 n 的非降序数组,比如 [1,2,3,4,5] ,将它进行旋转,即把一个数组最开始的若干个元素搬到数组
的末尾,变成一个旋转数组,比如变成了 [3,4,5,1,2] ,或者 [4,5,1,2,3] 这样的。请问,给定这样一个旋转数组,求数
组中的最小值。

题目来源
1、利用数组是由非递减排序旋转来的
2、数组可以分为两个有序的子数组。其中,左排序的数组的值大于右排序数组中的值。
3、声明left,right 分别指向数组的左右两端。
4、mid = (left+right) / 2 为二分的中间位置。
5、mid,left,right分为三种情况:

mid > right时, 那么 最小值一定在 [mid+1,right]区间中

mid < right时,那么最小值一定在[left,mid]区间内

mid = right时,无法判断最小值在哪个区间,所以此时只能缩小right的值。
// 不是降序数组(不是从大到小)
// 采用二分查找,这个题主要分析三种旋转情况 [1, 2, 3, 4, 5],使用中间值与右端进行比较。

// 1. 中间大于右边 [3, 4, 5, 1, 2],这种情况下,最小数一定在右边;则left = middle + 1

// 2. 中间等于右边 [1, 0, 1, 1, 1], 这个是[0, 1, 1, 1, 1] 旋转过来的,这时候需要缩小范围 right--;,注意不能是left++,因为是非降序数组,所以要缩小右边范围,把较小值向右推,符合我们的判断规则。

// 3. 中间小于右边 [5, 1, 2, 3, 4], 这种情况下,最小数字则在左半边;则right = middle

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @param numsLen int nums数组长度
 * @return int整型
 */
int minNumberInRotateArray(int* nums, int numsLen){
    // write code here
    int left = 0;
    int right = numsLen-1;
    while(left<right){
        int mid = left+(right-left)/2;
        if(nums[mid]>nums[right]){
            left = mid+1;
        }
        else if(nums[mid]<nums[right]){
            right = mid;
        }
        else if(nums[mid] == nums[right]){
            right--;
        }
    }
    return nums[left];
}

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

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

相关文章

MyBatis学习笔记——3

MyBatis学习笔记——3 一、MyBatis小技巧1.1、#{}和${}1.2、typeAliases1.3、mappers1.4、插入数据时获取自动生成的主键 二、MyBatis参数处理2.1、单个简单类型参数2.2、 Map参数2.3、实体类参数2.4、多参数2.5、 Param注解&#xff08;命名参数&#xff09;2.6、 Param源码分…

网络安全(黑客)就业分析指导

一、针对网络安全市场分析 市场需求量高&#xff1b;则是发展相对成熟入门比较容易。所需要的技术水平国家政策环境 对于国家与企业的地位愈发重要&#xff0c;没有网络安全就没有国家安全 更有为国效力的正义黑客—红客联盟 可见其重视程度。 需要掌握的知识点偏多 外围打点…

【全面解析】Windows 如何使用 SSH 密钥远程连接 Linux 服务器

创建密钥 创建 linux 服务器端的终端中执行命令 ssh-keygen&#xff0c;之后一直按Enter即可&#xff0c;这样会在将在 ~/.ssh/ 路径下生成公钥(id_rsa.pub)和私钥(id_rsa) 注意&#xff1a;也可以在 windows 端生成密钥&#xff0c;只需要保证公钥在服务器端&#xff0c;私钥…

30天自制操作系统 day 1 写一个可以在没有操作系统的计算机上输出字符串的程序,并在计算机上运行

day 1 工具&#xff1a;qemu 模拟器 今日任务 计算机启动后&#xff0c;在屏幕打印一串字符串。 理论 显示字符的原理 把一些机器指令写在第一扇区。通过int 0x10中断&#xff0c;让显卡在屏幕上显示字符。只需要在0x10之前按照规定准备好寄存器&#xff0c;显卡就能正确…

2020年下半年系统架构设计师考试案例分析真题(参考答案)

试题一 1、阅读以下关于软件架构设计与评估的叙述&#xff0c;在答题纸上回答问题1和问题2。 [说明] 某公司拟开发--套在线软件开发系统&#xff0c;支持用户通过浏览器在线进行软件开发活动。该系统的重要功能包括代码编辑、语法高亮显示、代码编译、系统调试、代码仓库管理等…

Spring数据源

⭐作者介绍&#xff1a;大二本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;努力输出优质文章 ⭐作者主页&#xff1a;逐梦苍穹 ⭐所属专栏&#xff1a;JavaEE、Spring 目录 1、简介2、作用3、开发步骤3.1、导入坐标3.2、创建对象c3p0druid提取jdbc.properties读取配…

【iOS】App仿写--3GShare

文章目录 前言一、账号界面二、主页界面二、搜索界面三、文章界面四、活动界面五、我的界面总结 前言 这周写了3GShare的demo&#xff0c;这是一个十分麻烦的demo&#xff0c;比网易云需要设计的知识更多&#xff0c;特此撰写一下博客记录总结 一、账号界面 这里账号界面主要…

SourceTree使用ssh密钥

设置Git的user name和email&#xff1a; $ git config --global user.name "xxx" $ git config --global user.email "xxx.mailxxx.com".检查是不是已经存在密钥&#xff08;能进去说明已经存在&#xff0c;就删掉文件夹&#xff0c;重新创建&#xff09;…

SPSS数据文件的结构重组

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件可在个人主页—…

python:GEDI 波形数据提取

作者:CSDN @ _养乐多_ 在这篇博客中,我们将介绍如何使用 Python 处理和可视化 GEDI(Global Ecosystem Dynamics Investigation)激光雷达数据。GEDI 是 NASA(美国国家航空航天局)推出的激光雷达地球观测任务,用于获取全球各地生态系统的三维结构信息。本文将以提取研究区…

VSCode同时编译多个C文件

一.环境说明 1.系统&#xff1a;Ubuntu 22.04.2 LTS 2.Visual Studio Code: 1.80.1 二.问题描述 今天使用VSCode编译《Programming Abstractions In C》书中的gymjudge.c代码时遇到错误&#xff0c;错误提示为&#xff1a; (base) codistspc:~/projects/Programming-Abstracti…

Ubuntu下打开QtCreator环境变量LD_LIBRARY_PATH与终端不一致

问题描述&#xff1a; 在unbuntu下使用QtCreator编译、运行程序时&#xff0c;总是出现XXX.so: cannot open shared object file: No such file or directory这类问题&#xff0c;但是在终端中编译或者运行程序则不会出现这些问题。在网上查了好久才明白QtCreator在打开时&…

【Visual Studio】Qt 在其他 cpp 文件中调用主工程下文件中的函数

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 还整了一个如何在其他文件中调用 ui 控件的文章&#xff0c;感兴趣可以看&#xff1a;【Visual Studio】Qt 在其他 cpp 文件中调用操作 ui 界面控件。 文章目…

机器学习实战10-基于spark大数据技术与机器学习的结合应用实战

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战10-基于spark大数据技术与机器学习的结合应用实战&#xff0c;Spark是一种快速、通用的大数据处理框架。它是由加州大学伯克利分校AMPLab开发。Spark提供了一个分布式计算的平台&#xff0c;可以在集群…

计算机组成与体系结构 概述

文章目录 计算机组成与体系结构 概述计算机系统概述计算机系统的组成计算机层次结构 计算机性能评价 计算机组成与体系结构 概述 计算机系统概述 计算机系统的组成 计算机的基本部件&#xff1a; 运算器&#xff1a;ALU、GPRs&#xff08;通用寄存器组&#xff09;、标志寄…

Java编程教程-Java ObjectStreamClass

ObjectStreamClass作为类的序列化描述符。该类包含类的名称和serialVersionUID。 # 方法 # 示例 toString() It returns a string describing this ObjectStreamClass.Exampleimport java.io.ObjectStreamClass; import java.util.Calendar; public class ObjectStreamCl…

谷歌插件(Chrome扩展) “Service Worker (无效)” 解决方法

问题描述&#xff1a; 写 background 文件的时候报错了&#xff0c;说 Service Worker 设置的 background 无效。 解决&#xff08;检查&#xff09;方法&#xff1a; 检查配置文件&#xff08;manifest.json&#xff09; 中的 manifest_version 是否为 3。 background 中的…

深入探索Spring的Bean注入:四种方式解析与循环依赖探讨

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

Docker-Compose 轻松搭建 Grafana+InfluxDb 实用 Jmeter 监控面板

目录 前言&#xff1a; 1、背景 2、GranfanaInfluxDB 配置 2.1 服务搭建 2.2 配置 Grafana 数据源 2.3 配置 Grafana 面板 3、Jmeter 配置 3.1 配置 InfluxDB 监听器 3.2 实际效果 前言&#xff1a; Grafana 和 InfluxDB 是两个非常流行的监控工具&#xff0c;它们可…

【力扣每日一题】2023.7.20 环形子数组的最大和

题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目描述的有点复杂,特别是那个公式,一看到我就烦. 其实意思就是找出一个子数组(连续),要求这个子数组的和是所有子数组中最大的,并且这个数组是环形的,意思就是我这个子数组可以从原数组的尾部开始,到原数组的头部结束,…