C基础寒假练习(6)

一、终端输入行数,打印倒金字塔

#include <stdio.h>
int main() 
{int rows;printf("请输入倒金字塔的行数: ");scanf("%d", &rows);for (int i = rows; i > 0; i--) {// 打印空格for (int j = 0; j < rows - i; j++) {printf(" ");}// 打印星号for (int k = 0; k < (2 * i - 1); k++) {printf("*");}// 换行printf("\n");}return 0;
}

代码解析

  1. 包含头文件

    #include <stdio.h>
    

    这行代码包含了标准输入输出库 stdio.h,它提供了输入输出函数如 printfscanf

  2. 主函数

    int main() 
    {
    

    这是程序的入口点,从这里开始执行。

  3. 变量声明

    int rows;
    

    声明一个整型变量 rows,用于存储用户输入的倒金字塔的行数。

  4. 提示用户输入

    printf("请输入倒金字塔的行数: ");
    

    使用 printf 函数在控制台输出提示信息,要求用户输入倒金字塔的行数。

  5. 读取用户输入

    scanf("%d", &rows);
    

    使用 scanf 函数从控制台读取用户输入的整数,并将其存储到变量 rows 中。

  6. 外层循环

    for (int i = rows; i > 0; i--) 
    {
    

    这是一个递减的 for 循环,从 rows 开始,每次循环减一,直到 i 大于零为止。这个循环控制倒金字塔的行数。

  7. 打印空格

    for (int j = 0; j < rows - i; j++) 
    {printf(" ");
    }
    

    内层循环用于打印每行前面的空格。空格的数量是 rows - i,随着 i 的减小而增加。

  8. 打印星号

    for (int k = 0; k < (2 * i - 1); k++)
    {printf("*");
    }
    

    另一个内层循环用于打印星号。星号的数量是 2 * i - 1,随着 i 的减小而减少。

  9. 换行

    printf("\n");
    

    每行结束后,使用 printf 函数输出一个换行符,使光标移动到下一行。

  10. 返回值

    return 0;
    

    main 函数返回 0,表示程序正常结束。

二、使用异或和算术求和交换两个数

#include <stdio.h>
int main() 
{int x = 10;int y = 20;printf("Before swap: x = %d, y = %d\n", x, y);// 使用异或运算交换值x = x ^ y;y = x ^ y;x = x ^ y;printf("After swap: x = %d, y = %d\n", x, y);return 0;
}#include <stdio.h>
int main(int argc, const char *argv[]) 
{int a = 12, b = 34;printf("a=%d\tb=%d\n", a, b);// 用算术求和的方式交换变量a = a + b; // a = 46b = a - b; // b = 12a = a - b; // a = 34printf("交换后\n");printf("a=%d\tb=%d\n", a, b);return 0;
}

异或步骤解释

  1. Step 1: x = x ^ y;

    • 初始值:x = 10 (二进制表示为 1010), y = 20 (二进制表示为 10100)
    • 计算 x ^ y1010 ^ 10100 = 11110 (二进制)
    • 结果:x = 30 (十进制表示为 11110)
  2. Step 2: y = x ^ y;

    • 当前值:x = 30 (二进制表示为 11110), y = 20 (二进制表示为 10100)
    • 计算 x ^ y11110 ^ 10100 = 1010 (二进制)
    • 结果:y = 10 (十进制表示为 1010)
  3. Step 3: x = x ^ y;

    • 当前值:x = 30 (二进制表示为 11110), y = 10 (二进制表示为 1010)
    • 计算 x ^ y11110 ^ 1010 = 10100 (二进制)
    • 结果:x = 20 (十进制表示为 10100)

最终结果

在执行完这三个步骤之后,xy 的值被成功交换。因此,输出将会是:

Before swap: x = 10, y = 20 After swap: x = 20, y = 10

总结

通过使用异或运算符,我们可以在不引入第三个临时变量的情况下交换两个整数的值。这种方法利用了异或运算的性质:一个数与另一个数异或两次会还原原来的数。

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

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

相关文章

【C# 】图像资源的使用

在C#中&#xff0c;图像资源的使用方式方法主要依赖于你所使用的框架和库。以下是几种常见的使用图像资源的方法&#xff1a; Windows Forms 直接加载图像&#xff1a; 使用System.Drawing.Image.FromFile()方法可以直接从文件系统加载图像。 Image image Image.FromFile(&qu…

OpenGL学习笔记(六):Transformations 变换(变换矩阵、坐标系统、GLM库应用)

文章目录 向量变换使用GLM变换&#xff08;缩放、旋转、位移&#xff09;将变换矩阵传递给着色器坐标系统与MVP矩阵三维变换绘制3D立方体 & 深度测试&#xff08;Z-buffer&#xff09;练习1——更多立方体 现在我们已经知道了如何创建一个物体、着色、加入纹理。但它们都还…

OSPF基础(1):工作过程、状态机、更新

OSPF基础 1、技术背景&#xff08;与RIP密不可分&#xff0c;因为RIP中存在的问题&#xff09; RIP中存在最大跳数为15的限制&#xff0c;不能适应大规模组网周期性发送全部路由信息&#xff0c;占用大量的带宽资源以路由收敛速度慢以跳数作为度量值存在路由环路可能性每隔30秒…

python爬虫--简单登录

1&#xff0c;使用flask框架搭建一个简易网站 后端代码app.py from flask import Flask, render_template, request, redirect, url_for, sessionapp Flask(__name__) app.secret_key 123456789 # 用于加密会话数据# 模拟用户数据库 users {user1: {password: password1}…

如何在React中使用Redux进行状态管理?

在现代前端开发中&#xff0c;React已成为构建用户界面的流行选择。然而&#xff0c;随着应用规模的不断增长&#xff0c;管理组件之间的状态变得愈加复杂。为了解决这一问题&#xff0c;Redux 作为一种状态管理工具应运而生。本文将详细介绍如何在React中集成和使用Redux来进行…

HTML中的图片标签详解及路径使用【学术投稿-第五届环境资源与能源工程国际学术会议(ICEREE 2025)】

官网&#xff1a;www.iceree.org 会议时间&#xff1a;2025年2月21-23日 会议地点&#xff1a;中国-昆明 简介 第五届环境资源与能源工程国际学术会议&#xff08;ICEREE 2025&#xff09;将于2025年2月21日至23日在中国昆明隆重举行。主要围绕“能源工程和能源技术”、“环…

react的antd表格自定义图标

将原版的加号换成箭头 自定义图标 安装图标包&#xff1a; npm install --save ant-design/icons 引入&#xff1a; import { RightOutlined, DownOutlined } from ant-design/icons; 参数是一个函数 <Table columns{columns} dataSource{data} indentSize{20}expandIc…

【回溯+剪枝】单词搜索,你能用递归解决吗?

文章目录 79. 单词搜索解题思路&#xff1a;回溯&#xff08;深搜&#xff09; 剪枝 79. 单词搜索 79. 单词搜索 ​ 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 …

Redis企业开发实战(二)——点评项目之商户缓存查询

目录 一、缓存介绍 二、缓存更新策略 三、如何保证redis与数据库一致性 1.解决方案概述 2.双写策略 3.双删策略 3.1延迟双删的目的 4.数据重要程度划分 四、缓存穿透 (一)缓存穿透解决方案 (二)缓存穿透示意图 五、缓存雪崩 (一)缓存雪崩解决方案 (二)缓存雪崩…

maven如何不把依赖的jar打包到同一个jar?

spring boot项目打jar包部署&#xff1a; 经过以下步骤&#xff0c; 最终会形成maven依赖的多个jar&#xff08;包括lib下添加的&#xff09;、 我们编写的程序代码打成一个jar&#xff0c;将程序jar与 依赖jar分开&#xff0c;便于管理&#xff1a; success&#xff1a; 最终…

Mac 部署Ollama + OpenWebUI完全指南

文章目录 &#x1f4bb; 环境说明&#x1f6e0;️ Ollama安装配置1. 安装[Ollama](https://github.com/ollama/ollama)2. 启动Ollama3. 模型存储位置4. 配置 Ollama &#x1f310; OpenWebUI部署1. 安装Docker2. 部署[OpenWebUI](https://www.openwebui.com/)&#xff08;可视化…

一次报警了解:direct path read、enq: KO - fast object checkpoint

背景 今天突然接到订单超时报警&#xff0c;数据库的状态确实惊出一身冷汗&#xff0c;查看系统日志正常&#xff0c;数据库日志正常&#xff0c;load 1-3之间&#xff0c;Session 连接200左右&#xff0c;未发现有负载。于是生成一个ASH报告&#xff0c;感觉比平时要慢很多&am…

Flink2支持提交StreamGraph到Flink集群

最近研究Flink源码的时候&#xff0c;发现Flink已经支持提交StreamGraph到集群了&#xff0c;替换掉了原来的提交JobGraph。 新增ExecutionPlan接口&#xff0c;将JobGraph和StreamGraph作为实现。 Flink集群Dispatcher也进行了修改&#xff0c;从JobGraph改成了接口Executio…

数据结构(1)——算法时间复杂度与空间复杂度

目录 前言 一、算法 1.1算法是什么&#xff1f; 1.2算法的特性 1.有穷性 2.确定性 3.可行性 4.输入 5.输出 二、算法效率 2.1衡量算法效率 1、事后统计方法 2、事前分析估计方法 2.2算法的复杂度 2.3时间复杂度 2.3.1定义 2.3.2大O渐进表示法 2.3.3常见时间复…

spring aop失效场景

aop基于代理&#xff08;jdk动态代理 / cglib代理&#xff09;实现&#xff0c;即new了新的类实例&#xff0c;代理了原来的定义的类实例。 目录 1. final修饰的方法无法被代理2. 静态方法无法被代理3. 内部方法调用&#xff0c;即this.method()无法被代理4. 私有方法不能代理5…

Page Assist - 本地Deepseek模型 Web UI 的安装和使用

Page Assist Page Assist是一个开源的Chrome扩展程序&#xff0c;为本地AI模型提供一个直观的交互界面。通过它可以在任何网页上打开侧边栏或Web UI&#xff0c;与自己的AI模型进行对话&#xff0c;获取智能辅助。这种设计不仅方便了用户随时调用AI的能力&#xff0c;还保护了…

GRN前沿:STGRNS:一种基于transformer的可解释方法,用于从单细胞转录组数据推断基因调控网络

1.论文原名&#xff1a;STGRNS: an interpretable transformer-based method for inferring gene regulatory networks from single-cell transcriptomic data 2.发表日期&#xff1a;2023.4.2 摘要&#xff1a; 动机&#xff1a;单细胞RNA测序&#xff08;scRNA-seq&#xf…

OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关

目标 学习将 OpenAI 接入 Web 应用&#xff0c;构建交互式 API 网关理解 Flask 框架的基本用法实现 GPT 模型的 API 集成并返回结果 内容与实操 一、环境准备 安装必要依赖&#xff1a; 打开终端或命令行&#xff0c;执行以下命令安装 Flask 和 OpenAI SDK&#xff1a; pip i…

深入浅出:旋转变位编码(RoPE)在现代大语言模型中的应用

在现代大语言模型&#xff08;LLMs&#xff09;中&#xff0c;位置编码是一个至关重要的组件。无论是 Meta 的 LLaMA 还是 Google 的 PaLM&#xff0c;这些模型都依赖于位置编码来捕捉序列中元素的顺序信息。而旋转变位编码&#xff08;RoPE&#xff09; 作为一种创新的位置编码…

DeepSeek 部署过程中的问题

文章目录 DeepSeek 部署过程中的问题一、部署扩展&#xff1a;docker 部署 DS1.1 部署1.2 可视化 二、问题三、GPU 设置3.1 ollama GPU 的支持情况3.2 更新 GPU 驱动3.3 安装 cuda3.4 下载 cuDNN3.5 配置环境变量 四、测试 DeepSeek 部署过程中的问题 Windows 中 利用 ollama 来…