C语言 for 循环:解谜数学,玩转生活!
放在最前面的
🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼
🎉🎉我的C语言初阶合集:C语言初阶合集,希望能帮到你!!!😍 😍
👋🏼🎉🎊创作不易,欢迎大家留言、点赞加收藏!!! 🥳😁😍
文章目录
- 放在最前面的
- 前言
- 一、猜凶手
- 题目描述:
- 解题思路:
- 代码如下(示例):
- 输出结果(示例):
- 二、杨辉三角
- 题目描述:
- 解题思路:
- 代码如下(示例):
- 输出结果(示例):
- 三、猜名次
- 题目描述:
- 解题思路:
- 代码如下(示例):
- 输出结果(示例):
- END:总结
前言
本篇博客是通过三道题目来让你真正了解和学会
使用 for
循环是如何解决生活实际问题和数学问题的!
一、猜凶手
题目描述:
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
以下为4个嫌疑犯的供词:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
解题思路:
通过对题目的阅读后,我们知道杀人凶手 就在 A B C D这四个人之间的某一个;
所以:
(1)首先我们可以通过 一 一 列举的办法,假设杀人凶手 是A、 B 、C或者 D;
(2)然后进行判断是否满足题目说的他们的供词的 “3个人说了真话,1个人说的是假话”的条件;
(3) 从而 推理得到 真正的杀人凶手 。
代码如下(示例):
#include<stdio.h>int main()
{//定义一个字符型变量 killer,用于存放凶手char killer = 'A';//循环生成 'A','B','C','D';for (killer = 'A'; killer <= 'D'; killer++){//判断是否满足题目的条件if ( ( (killer != 'A') + (killer == 'C')+ (killer == 'D') + (killer != 'D') ) == 3 ){//输出printf("killer = %c\n", killer);}}return 0;
}
输出结果(示例):
二、杨辉三角
题目描述:
在屏幕上打印杨辉三角。
1
1 1
1 2 1
1 3 3 1
……
解题思路:
通过对题目的阅读后,
我们可以通过一个二维数组的形式进行打印杨辉三角;
可以用 r 表示 行,c 表示 列
通过观察知道:
(1)第一列的元素都是 1,并且当 r (行)== c(列) 的时候,元素也是 1 ;
(2)其他位置上的元素是 由该位置 上面位置的元素 + 左上角的元素的和。
代码如下(示例):
#include<stdio.h>int main()
{//定义一个二维数组int arr[10][10] = { 0 };//定义一个整型变量 n ,用于要输入的数字int n = 0;//输入scanf("%d", &n);//定义一个整型变量 r,用于要循环控制的 行数int r = 0;//定义一个整型变量 c,用于要循环控制的 列数int c = 0;//外循环,控制 行数for (r = 0; r < n; r++){//内循环,控制 列数for (c = 0; c <= r; c++){//判断 第一列的元素 和 行 == 列if ((c == r) || (c == 0)){//赋值arr[r][c] = 1;}//判断(除去 第一列的元素和行 == 列)其他位置上的元素if ((r >= 2) && (c < r)){//赋值arr[r][c] = arr[r - 1][c] + arr[r - 1][c - 1];}}}外循环,控制 行数for (r = 0; r < n; r++){//内循环,控制 列数for (c = 0; c <= r ; c++){//输出printf("%5d ", arr[r][c]);}//每输出一行,进行换行printf("\n");}return 0;
}
输出结果(示例):
三、猜名次
题目描述:
5 位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
解题思路:
通过对题目的阅读后,我们知道 每个人的名次可能是 1 ~ 5 的一个。
所以:
(1)首先我们可以通过 一 一 列举的办法,将每个人的 名次 列出来;
(2)然后进行判断是否满足题目说的 “每位选手都说对了一半”的条件;
(3) 最后还要加上每个人只能有一个名次,即(a * b * c * d * e) == 120
(4) 从而 得到每个人比赛最终的名次 。
代码如下(示例):
#include<stdio.h>int main()
{//定义五个整型变量,用于存放 5个运动员的名次int a = 0;int b = 0;int c = 0;int d = 0;int e = 0;//把 a b c d e 五个人可能出现的每次进行 一 一列举出来for (int a = 1; a <= 5; a++){ for (int b = 1; b <= 5; b++){for (int c = 1; c <= 5; c++){for (int d = 1; d <= 5; d++){for (int e = 1; e <= 5; e++){//判断是否满足下面的判断条件if ( ((b == 2) + (a == 3) == 1)&&((b == 2) + (e == 4) == 1)&&((c == 1) + (d == 2) == 1)&&((c == 5) + (d == 3) == 1)&&((a == 1) + (e == 4) == 1)&&((a * b * c * d * e) == 120)){//输出名次printf("a = %d\n", a);printf("b = %d\n", b);printf("c = %d\n", c);printf("d = %d\n", d);printf("e = %d\n", e);}}}}}}return 0;
}
输出结果(示例):
END:总结
每天都在学习的路上!
On The Way Of Learning
以上就是今天要讲的内容,本文简单介绍了用for
循环解决生活实际问题(猜凶手、猜名次)和数学问题(杨辉三角);
或我的小思路还有成长的空间哦!🔍 诚挚邀请各位编程大侠,一起来晒出你们那闪耀着智慧光芒的优质代码吧!✨
你的精彩分享,将是我们共同进步的最强动力!💪
相关文章:

C语言 for 循环:解谜数学,玩转生活!
放在最前面的 🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼 🎉🎉我的C语言初阶合集:C语言初阶合集,希望能…...
Node.js 与 JavaScript 是什么关系
JavaScript 是一种编程语言,而 Node.js 是 JavaScript 的一个运行环境,它们在不同的环境中使用,具有一些共同的语言基础,但也有各自独特的 API 和模块,共同推动着 JavaScript 在前后端开发中的广泛应用。 一、基础语言…...

Java 大视界 -- Java 大数据性能监控与调优:全链路性能分析与优化(十五)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

深入Spring Boot:自定义Starter开发与实践
引言 Spring Boot通过其强大的自动配置机制和丰富的Starter模块,极大地简化了Spring应用的开发过程。Starter模块封装了一组相关的依赖和配置,使得开发者可以通过简单的依赖引入,快速启用特定的功能。然而,除了使用Spring Boot提…...
React 中hooks之useTransition使用总结
目录 概述基本用法使用场景最佳实践注意事项 概述 什么是 useTransition? useTransition 是 React 18 引入的新 Hook,用于标记非紧急的状态更新。它允许组件在状态转换期间保持响应,通过将某些更新标记为"过渡"来推迟它们的渲染。 主要特…...

怎样使用树莓派自己搭建一套ADS-B信号接收系统
0 我们知道,ADS-B全称广播式自动相关监视系统,其实就是飞机发出的广播信号,用明码来对外发送自己的位置、高度、速度、航向等信息,是公开信息。连续接收到一架飞机发出的ADS-B信息后,可以通过其坐标点来描绘出飞机的航…...

Chrome谷歌浏览器如何能恢复到之前的旧版本
升级了谷歌最新版不习惯,如何降级版本 未完待续。。 电脑中的Chrome谷歌浏览器升级到了最新版本,但是有种种的不适应,如何能恢复到之前的旧版本呢?我们来看看操作步骤,而且无需卸载重装。 怎么恢复Chrome 之前版本&a…...

路由器旁挂三层网络实现SDWAN互联(爱快SD-WAN)
近期因公司新办公区建设,原有的爱快路由器的SDWAN功能实现分支之间互联的服务还需要继续使用。在原有的小型网络中,使用的爱快路由器当作网关设备,所以使用较为简单,如下图所示。 现变更网络拓扑为三层网络架构,但原有的SDWAN分支…...

代码随想录算法训练营第五十五天 |108.冗余连接 109.冗余连接Ⅱ
108.冗余连接: 文章链接 题目链接:108.冗余连接 思路 首先分析题目,给定拥有n个节点和n条边的图,其中图是在原n个节点和n - 1条无环无向图中添加一条边得到的。要求是输出多出的边。(PS:可能会有多个答案…...

Unity补充 -- 协程相关
1.协程。 协程并不是线程。线程是主线程之外的另一条 代码按照逻辑执行通道。协程则是在代码在按照逻辑执行的同时,是否需要执行额外的语句块。 2.协程的作用。 在update执行的时候,是按照帧来进行刷新的,也是按照帧执行代码的。但是又不想…...

【第二十周】U-Net:用于生物图像分割的卷积神经网络
文章目录 摘要Abstract文章信息研究动机U-Net网络结构U-Net网络搭建数据增强损失函数转置卷积创新性与不足创新性:不足: 总结 摘要 U-Net(Convolutional Networks for Biomedical Image Segmentation)是一种用于图像分割的深度学…...

部署Metricbeat监测ES
官方参考文档 安装Metricbeat curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.17.27-linux-x86_64.tar.gztar xzvf metricbeat-7.17.27-linux-x86_64.tar.gz设置 Metricbeat连接到 Elasticsearch 进入metricbeat目录配置metricbeat.yml …...

Pytorch|YOLO
🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 一、 前期准备 1. 设置GPU 如果设备上支持GPU就使用GPU,否则使用CPU import torch import torch.nn as nn import torchvision.transforms as transforms im…...
云计算与物联网技术的融合应用(在工业、农业、家居、医疗、环境、城市等整理较全)
摘要 为生产领域带来更加全面和深入的变革。通过云计算平台对物联网数据进行处理和分析,企业可以实现对生产过程的更加精细化的管理和控制。 1. 智能生产调度 通过云计算和物联网技术的融合应用,企业可以实现对生产线上各个环节的实时监控和数据分析。…...

基于python+Django+mysql鲜花水果销售商城网站系统设计与实现
博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育、辅导。 所有项目都配有从入门到精通的基础知识视频课程ÿ…...
Golang:报错no required module provides package github.com/xx的解决方法
报错 问题重现可能的原因及解决方法1. 未初始化 Go 模块解决方法: 2. 没有添加依赖解决方法: 3. 网络问题解决方法: 4. 依赖版本问题解决方法: 5. 包未发布或路径拼写错误解决方法: 6. go mod tidy 未运行解决方法&…...

数据结构与算法(2):顺序表与链表
1.前言 哈喽大家好喔,今天博主继续进行数据结构的分享与学习,今天的主要内容是顺序表与链表,是最简单但又相当重要的数据结构,为以后的学习有重要的铺垫,希望大家一起交流学习,互相进步,让我们…...
华为OD机试E卷 --过滤组合字符串--24年OD统一考试(Java JS Python C C++)
文章目录 题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述 数字 0、1、2、3、4、5、6、7、8、9 分别关联 a~z 26 个英文字母。 0 关联“a”"b”"c1 关联“d”"e”"f2 关联“g"“h”“i”3 关…...

QT跨平台应用程序开发框架(3)—— 信号和槽
目录 一,基本概念 二,connect函数使用 2.1 connect 2.2 Qt内置信号和槽 2.3 一些细节 三,自定义信号和槽 3.1 自定义槽函数 3.2 自定义信号 3.3 带参数的信号槽 四,信号和槽的意义 五,信号和槽断开连接 六&…...

从 0 开始实现一个 SpringBoot + Vue 项目
从 0 开始实现一个 SpringBoot Vue 项目 从 0 开始实现一个 SpringBoot Vue 项目 软件和工具创建 SpringBoot 后端项目创建 MySQL 数据库配置文件实现增删改查接口 Model 层mapper 层service 层controller 层测试 实现项目功能接口 代码测试 创建 Vue 前端 安装 Node.js配置…...

[ElasticSearch] DSL查询
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...

使用有限计算实现视频生成模型的高效训练
大家读完觉得有帮助记得关注和点赞!!! 抽象 视频生成的最新进展需要越来越高效的训练配方,以减轻不断上升的计算成本。在本报告中,我们介绍了 ContentV,这是一种 8B 参数文本到视频模型,在 256 …...
C++ 信息学奥赛总复习题
第一章 C 基础语法 一、填空题 C 源文件的扩展名通常是______。C 程序的入口函数是______。在 C 中,注释有两种形式,分别是______和______。声明一个整型变量 a 的语句是______。输出语句的关键字是______。 二、判断题 C 区分大小写。( …...

Xilinx FPGA 重构Multiboot ICAPE2和ICAPE3使用
一、FPGA Multiboot 本文主要介绍基于IPROG命令的FPGA多版本重构,用ICAP原语实现在线多版本切换。需要了解MultiBoot Fallback点击链接。 如下图所示,ICAP原语可实现flash中n1各版本的动态切换,在工作过程中,可以通过IPROG命令切…...
Web安全:XSS、CSRF等常见漏洞及防御措施
Web安全:XSS、CSRF等常见漏洞及防御措施 一、XSS(跨站脚本攻击) 定义与原理 XSS攻击指攻击者将恶意脚本(如JavaScript、HTML标签)注入到Web页面中,当用户访问该页面时,脚本在浏览器端执行&…...
【LeetCode】3170. 删除星号以后字典序最小的字符串(贪心 | 优先队列)
LeetCode 3170. 删除星号以后字典序最小的字符串(中等) 题目描述解题思路java代码 题目描述 题目链接:3170. 删除星号以后字典序最小的字符串 给你一个字符串 s 。它可能包含任意数量的 * 字符。你的任务是删除所有的 * 字符。 当字符串还…...

立志成为一名优秀测试开发工程师(第十一天)—Postman动态参数/变量、文件上传、断言策略、批量执行及CSV/JSON数据驱动测试
目录 一、Postman接口关联与正则表达式应用 1.正则表达式解析 2.提取鉴权码。 二、Postman内置动态参数以及自定义动态参数 1.常见内置动态参数: 2.自定义动态参数: 3.“编辑”接口练习 三、图片上传 1.文件的上传 2.上传后内容的验证 四、po…...
Gin框架实战指南:从入门到进阶
Gin框架实战指南:从入门到进阶 在当今的后端开发领域,Gin框架以其高性能、简洁易用的特点,赢得了众多Go语言开发者的青睐。本文将带你深入探索Gin框架的方方面面,从基础的安装与使用,到响应处理、请求参数解析、中间件…...

华为云Flexus+DeepSeek征文| 华为云Flexus X实例单机部署Dify-LLM应用开发平台全流程指南
华为云FlexusDeepSeek征文| 华为云Flexus X实例单机部署Dify-LLM应用开发平台全流程指南 前言一、相关名词介绍1.1 华为云Flexus X实例介绍1.2 Dify介绍1.3 DeepSeek介绍1.4 华为云ModelArts Studio介绍 二、部署方案介绍2.1 方案介绍2.2 方案架构2.3 需要资源2.4 本…...

Vue-3-前端框架Vue基础入门之VSCode开发环境配置和Tomcat部署Vue项目
文章目录 1 安装配置VSCode1.1 安装中文语言插件1.2 主题颜色1.3 禁用自动更新1.4 开启代码提示设置1.5 安装open in browser插件2 安装配置nodejs2.1 配置环境变量2.2 npm与maven的区别2.3 使用npm避坑3 创建Vue项目3.1 两种创建方式3.2 package.json3.3 安装新的依赖3.4 运行…...