当前位置: 首页 > news >正文

【C#】蜗牛爬井问题C#控制台实现

文章目录

    • 一、问题描述
    • 二、C#控制台代码


一、问题描述

井深30米,蜗牛在井底,每天爬3米又滑下1米,问第几天爬出来

二、C#控制台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;namespace ConsoleApplication4
{class Program{static void Main(string[] args){// 以*横向模拟爬的过程ClimbDisplay(30, 3, 1);// 参数分别为:井高度,向上爬的高度,向下掉的高度ClimbDay(30, 3, 1);Console.ReadKey();}/// <summary>/// 计算蜗牛爬出井的天数/// </summary>/// <param name="height">井的高度</param>/// <param name="up">向上爬的高度</param>/// <param name="down">向下掉的高度</param>/// <returns></returns>public static void ClimbDay(int height, int up, int down){int day = 0;int upCount = 0;int downCount = 0;int count = 0; // 蜗牛实际米数while (true){// 向上爬count = count + up;upCount = upCount + up;// 下掉以后计算天数day++;// 向上爬后计算蜗牛高度是否超过井的高度if (count > height){break;}// 向下掉count = count - down;downCount = downCount + down;}Console.WriteLine("蜗牛第" + day.ToString() + "天就爬出了这口井");Console.WriteLine("蜗牛向上爬的总米数:"+ upCount);Console.WriteLine("蜗牛向下掉的总米数:" + downCount);}public static void ClimbDisplay(int height, int up, int down){// 定一个List放爬行轨迹数据List<int> listClimbPoint = new List<int>();int count = 0; // 蜗牛实际米数while (true){// 向上爬count = count + up;// 添加向上爬点数listClimbPoint.Add(up);// 向上爬后计算蜗牛高度是否超过井的高度if (count > height){break;}// 向下掉count = count - down;// 添加向下掉点数listClimbPoint.Add(-down);}string climbPrint = ""; //用来打印的字符串for (int i = 0; i < listClimbPoint.Count; i++){if (listClimbPoint[i] > 0){for (int j = 0; j < listClimbPoint[i]; j++){climbPrint = climbPrint + "*" + " ";Console.WriteLine(climbPrint);if (climbPrint.Length > height * 2){break;}Thread.Sleep(300);Console.Clear();}}else if (listClimbPoint[i] < 0){for (int j = 0; j < -listClimbPoint[i]; j++) // 取相反数{climbPrint = climbPrint.Substring(0, climbPrint.Length - 2); ;Console.WriteLine(climbPrint);if (climbPrint.Length > height * 2){break;}Thread.Sleep(300);Console.Clear();}}}Console.WriteLine("蜗牛已经爬出");}}
}
http://www.lryc.cn/news/269651.html

相关文章:

  • IP地址的四大类型:动态IP、固定IP、实体IP、虚拟IP的区别与应用
  • Linux Debian12安装和使用ImageMagick图像处理工具 常见图片png、jpg格式转webp格式
  • JavaScript二
  • JavaScript系列——正则表达式
  • 命令行创建Vue项目
  • 01.PostgreSQL基本SELECT语句
  • UDP信号多个电脑的信息传输测试、配置指南
  • 先序+中序还原二叉树【数据结构】
  • 【全网首发】洛谷P2678 [NOIP2015 提高组] 跳石头
  • Gpt指引ubuntu安装java8/11
  • 【MCAL】TC397+EB-tresos之MCU配置实战 - 芯片时钟
  • 最新AI系统ChatGPT网站H5系统源码,支持AI绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图
  • 如何在MAC OS中的XCODE下添加 <bits/stdc++.h>
  • Maven项目提示Ignored pom.xml问题
  • SQL学习汇总
  • 单片机MCU堆栈概念与区别
  • C#中使用is关键字检查对象是否与给定类型兼容
  • AI时代下,如何看待“算法利维坦”?
  • Linux上管理不同版本的 JDK
  • 直方图与均衡化
  • Java——猫猫图鉴微信小程序(前后端分离版)
  • PiflowX组件-ReadFromKafka
  • Ubuntu 安装MySQL以及基本使用
  • 基于Freeswitch实现的Volte网视频通知应用
  • 怎么实现Servlet的自动加载
  • 15. Mysql 变量的使用
  • 为什么ChatGPT采用SSE协议而不是Websocket?
  • Elasticsearch:使用 ELSER v2 文本扩展进行语义搜索
  • Matlab:BP神经网络算法,二叉决策树
  • Python实现员工管理系统(Django页面版 ) 七