【C语言day07】

news2024/10/6 0:27:21

在这里插入图片描述

在调用函数的时候,真实传递给函数的是实参,函数定义部分函数名后的参数是形参。
形参和实参的名字是可以相同的,在函数调用的时候,形参是实参的一份临时拷贝,分别占用不同的内存空间,所以A正确,B错误,即使形参和实参的名字相同,也是占用不同的内存空间,所以B错误;
函数如果不被调用时,函数的形参是形式上存在的,但是函数在被调用的时候,形参是要分配内存空间的,所以D错误。

void print(char* s)
{
	if(*s)
	{
		print(++s);//这里是递归
		printf("%c", *s);
	}
}

int main()
{
	char str[] = "Geneius";
	print(str);//suiene
	return 0;
}

代码实现了递归倒序打印字符串的功能,但是++s使得s的值发生了变化,回不到’G’的位置上,故而没有打印’G

int fun(int x)
{
	return (x==1) ? 1 : (x + fun(x-1));
}f(10) = 55

代码是一个递归函数,计算x+(x-1)+(x-2)+…+2+1即等差数列的和


图片整理
题目来源

#include <stdio.h>

int main() {
    char a[1111] = {0};
    scanf("%s",a);

    int ax[1111] = {0};
    int i = 0;
    int j = 0;
    int key = strlen(a);
    
    for(i=0;a[i]!='\0';i++){
        ax[i] = (int)a[i];
    }
    
    for(i=0;i<key-1;i++){
        for(j=0;j<key-i-1;j++){
            if(ax[j]>ax[j+1]){
                int temp = ax[j];
                ax[j] = ax[j+1];
                ax[j+1] = temp;
            }
        }
    }
    
    for(i=0;i<key;i++){
        printf("%c",ax[i]);
    }
    
    return 0;
}
#include <stdio.h>

int main() {
    char str[1024] = {0};

    while (gets(str)) {
        
        int len = strlen(str);

        for (int i = 0; i < len; i++) {
            for (int j = 0; j < len - i - 1; j++) {

                if (str[j] > str[j + 1]) {
                    char ch = str[j + 1];
                    str[j + 1] = str[j];
                    str[j] = ch;
                }
            }
        }
        printf("%s\n", str);
    }
    return 0;
}

寻找数组的中心下标
题目来源
给你一个整数数组 nums ,请计算数组的 中心下标 。
数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和

如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。

如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。

从数组的0下标处开始向后逐下标统计,计算当前下标左边之和,和右边之和,进行判断,相等则为中心下标,如果数组循环结束都没有找到中心下标,则返回-1,表示没有中心下标。
int pivotIndex(int* nums, int numsSize) {
	
	int i, j;
	
	for (i = 0; i < numsSize; i++) {
		//从假设中心点为0开始进行统计判断
		int l_sum = 0, r_sum = 0;
		//初始化左边之和和右边之和为0
		for (j = 0; j < numsSize; j++) {
			if (j < i) l_sum += nums[j]; 
			//小于i坐标的都是左边的数字
			else if (j > i) r_sum += nums[j];
			//大于i坐标的都是右边的数字
		}
		 
		if(l_sum == r_sum) {//如果两遍相等则i就是中心坐标
			return i;
		}
	} 
	return - 1;
}

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

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

相关文章

智慧园区电力监控解决方案

1、概述 电力监控系统实现对园区变电站、配电房内断路器、变压器、柴油发电机以及其它重要设备进行监视、测量、记录、报警等功能&#xff0c;并与保护设备和远方控制中心及其他设备通信&#xff0c;实时掌握园区变电站和配电房运行状况&#xff0c;快速排除故障&#xff0c;保…

[UE4][C++]调整分屏模式下(本地多玩家)视口的显示位置和区域

一、分屏模式设置 在UE4中&#xff0c;多个玩家共用一个显示器就可以启用分屏模式&#xff0c;按玩家人数&#xff08;最大四人&#xff09;将屏幕均匀分割&#xff0c;显示不同玩家的视角&#xff0c;开发者可以在编辑器里设置分割类型&#xff08;水平或者垂直&#xff09;&a…

EC200U-CN学习(二)

EC200U系列内置丰富的网络协议&#xff0c;集成多个工业标准接口&#xff0c;并支持多种驱动和软件功能&#xff08;适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动&#xff09;&#xff0c;极大地拓展了其在M2M领域的应用范围&#xff0c;如POS、POC、ETC、共…

XCP详解「3.4·CANape中新建A2L文件」

返回 XCP详解「总目录」 A2L正常由ASAP2软件生成&#xff0c;但CANape也可以生成&#xff0c;此方法仅作知晓&#xff0c;不推荐使用 CANape新建工程后&#xff0c;新建Device&#xff0c;后面默认next next next 选择通道&#xff0c;设置网络参数&#xff08;波特率&#xf…

Vue - 可视化用户角色、菜单权限、按钮权限配置(动态获取菜单路由)

GitHub Demo 地址 在线预览 前言 关于动态获取路由已在这里给出方案 Vue - vue-admin-template模板项目改造&#xff1a;动态获取菜单路由 这里是在此基础上添加了系统管理模块&#xff0c;包含用户管理&#xff0c;角色管理&#xff0c;菜单管理&#xff0c;字典管理&#xf…

使用分布式HTTP代理爬虫实现数据抓取与分析的案例研究

在当今信息爆炸的时代&#xff0c;数据已经成为企业决策和发展的核心资源。然而&#xff0c;要获取大规模的数据并进行有效的分析是一项艰巨的任务。为了解决这一难题&#xff0c;我们进行了一项案例研究&#xff0c;通过使用分布式HTTP代理爬虫&#xff0c;实现数据抓取与分析…

【方法】带密码的ZIP分卷压缩文件如何解压?

当文件比较大的时候&#xff0c;很多人会在压缩时使用分卷压缩&#xff0c;这样可以将一个大文件分割成若干小分卷&#xff0c;方便保存及传输&#xff0c;也能减少下载时间。 如果分卷压缩文件设置了密码&#xff0c;要如何解压呢&#xff1f;下面小编以常用的ZIP格式为例&am…

IIS部署安装.NET CORE6.0应用程序,成功解决http error 503.the service is unavailable错误

一、下载安装.NET CORE 运行环境包 网址&#xff1a;Download .NET Core 3.1 (Linux, macOS, and Windows).NET Core 3.1 downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform for building many different types of ap…

Ubuntu--科研工具系列

翻译系列 pot-desktop github链接: https://github.com/pot-app/pot-desktop 下载deb Releases pot-app/pot-desktop GitHub 安装过程 在下载好的deb目录下打开终端(自动安装依赖) sudo apt install "XXX.deb" &#xff08;后面可以直接托文件到终端&#…

Redis集群的搭建

1.单机安装Redis 首先需要安装Redis所需要的依赖&#xff1a; yum install -y gcc tcl 然后将课前资料中提供的Redis安装包上传到虚拟机的任意目录&#xff1a; 例如&#xff0c;放到了/tmp目录&#xff1a; 解压缩&#xff1a; tar -xzf redis-6.2.4.tar.gz 解压后&#…

记一次杀猪盘的渗透之旅

所谓“杀猪盘”&#xff0c;是指诈骗分子利用网络交友通常是“异性”交友&#xff0c;诱导受害人下载诈骗APP并在上面进行各种“投资”&#xff0c;如菠菜、股票、期货甚至虚拟货币的网络诈骗。今年某月某日小白就遭遇了这种骗局&#xff0c;他先是被骗子通过QQ添加并下载了一个…

wireshark实战tcp三次握手和四次挥手

1 、安装好后wireshark后,由于我本地起了一个服务,所以我选择的是本地回环地址的这个选项,如下图(网络接口可以选择其它选项). 2、点击进去之后,在头部的栏上输入下面内容并且回车 ip.addr192.168.3.16 and tcp.port80803、浏览器发送请求 http://192.168.3.16:8080/tomcat_te…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK获取相机当前实时帧率(C#)

Baumer工业相机堡盟工业相机如何通过BGAPISDK里函数来计算相机的实时帧率&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率获取方式CameraExplorer如何查看相机帧率信息在BGAPI SDK里通过函数获取相机帧率 Baumer工业相机通过BGA…

集群间ssh配置免密登录

ssh免密配置&#xff0c;可以将ssh生成的密钥分发给目标主机&#xff0c;之后再用ssh访问目标主机时就无需输入密码 下面我们来配置用centos71免密登录centos72主机 使用下面指令生成一个密钥 ssh-keygen其中会提示&#xff0c;是否输入密码短语&#xff0c;这里不输入&#…

一份关于windows server服务器的安全漏洞处理建议(来自绿盟安全评估)

文章目录 前言一、服务器主机存在漏洞应该怎么修复&#xff1f; 二、报告中的高危漏洞&#xff08;部分展示&#xff09;1.Microsoft Windows CredSSP 远程执行代码漏洞(CVE-2018-0886)2.SSL/TLS协议信息泄露漏洞(CVE-2016-2183)3.SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)4.SS…

【飞书】飞书导出md文档 | 飞书markdown文档导出 | 解决飞书只能导出pdf word

一、飞书导出markdown github地址&#xff1a;https://github.com/Wsine/feishu2md 这是一个下载飞书文档为 Markdown 文件的工具&#xff0c;使用 Go 语言实现。 请看这里&#xff1a;招募有需求和有兴趣的开发者&#xff0c;共同探讨开发维护&#xff0c;有兴趣请联系。 二、…

【日常分享】Xposed框架究竟是啥?

今天在处理一个客户App加固的时候&#xff0c;看到老大用到了Xposed&#xff0c;一时竟不知道这是什么东西。今天就沉下心来&#xff0c;写写做个笔记。 一、Xposed狂阿基是什么&#xff1f; Xposed 是一个在 Android 系统上运行的开源框架&#xff0c;它允许用户在不修改应用…

MacDroid for Mac:在Mac上访问和传输Android文件的最简单方式

MacDroid for Mac是一款帮助用户在Mac和Android设备之间传输文件的软件。由于Mac OS X本身并不支持MTP协议&#xff0c;所以透过USB将Android设备连接到Mac电脑上是无法识别的&#xff0c;更别说读取里面的文件了。 MacDroid可以帮助您轻松搞定这个问题&#xff0c;您可以将An…

微服务划分的原则

微服务的划分 微服务的划分要保证的原则 单一职责原则 1、耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密&#xff0c;其耦合性就越强&#xff0c;模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及…

新兴职业:数据标注师你知道多少?

一、什么是数据标注师&#xff1f; 说起人工智能&#xff0c;就基本上绕不过数据标注这一步。数据标注是指将原始数据中的特定信息进行人工标记或注释&#xff0c;以便用于机器学习或深度学习算法的训练和评估。数据标注的目的是为了让机器能够理解和识别原始数据中的特定模式…