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循环解决生活实际问题(猜凶手、猜名次)和数学问题(杨辉三角);

或我的小思路还有成长的空间哦!🔍 诚挚邀请各位编程大侠,一起来晒出你们那闪耀着智慧光芒的优质代码吧!✨
你的精彩分享,将是我们共同进步的最强动力!💪

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

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

相关文章

【专题】2024AIGC创新应用洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38310 在科技日新月异的今天&#xff0c;人工智能领域正以前所未有的速度发展&#xff0c;AIGC&#xff08;人工智能生成内容&#xff09;成为其中最耀眼的明珠。从其应用场景的不断拓展&#xff0c;到对各行业的深刻变革&#xff0…

.NET桌面应用架构Demo与实战|WPF+MVVM+EFCore+IOC+DI+Code First+AutoMapper

目录 .NET桌面应用架构Demo与实战|WPFMVVMEFCoreIOCDICode FirstAutoPapper技术栈简述项目地址&#xff1a;功能展示项目结构项目引用1. 新建模型2. Data层&#xff0c;依赖EF Core&#xff0c;实现数据库增删改查3. Bussiness层&#xff0c;实现具体的业务逻辑4. Service层&am…

两种柑橘物种中WRKY转录因子的鉴定和比较-文献精读82

Genome-wide identification and comparative expression profiling of the WRKY transcription factor family in two Citrus species with different Candidatus Liberibacter asiaticus susceptibility 全基因组范围内鉴定和比较两种对柑橘黄龙病菌&#xff08;Candidatus …

Kafka中ACKS LSO LEO LW HW AR ISR OSR解析

名称解释 ACKS&#xff08;Acknowledgments&#xff09;确认、回执 LW&#xff08;Low watermark&#xff09;低水位、LSO&#xff08;Log start offset&#xff09;起始偏移量 HW&#xff08;High watermark&#xff09;高水位 LEO&#xff08;Log end offset&#xff09;…

vue实现展示并下载后端返回的图片流

// 点击下载 downLoadCode() {const image new Image();image.setAttribute("crossOrigin", "anonymous");image.onload () > {const canvas document.createElement("canvas");canvas.width image.width;canvas.height image.height;c…

c++:模板

1.泛型编程 在认识模板之前&#xff0c;我们首先要认识泛型编程 泛型编程是一种编程范式&#xff0c;它使得算法和数据结构能够独立于特定数据类型进行设计和实现。通过使用泛型&#xff0c;开发者可以编写一次代码&#xff0c;然后在不同的数据类型上进行重用&#xff0c;从…

Linux下安装配置redis详细教程,并配置哨兵模式,redis配置文件中文详解

redis版本为redis-3.2.12&#xff0c;使用工具将安装包上传到data目录。 redis.jpeg 在data目录下创建文件夹redis&#xff0c;将redis安装在此目录。 第一步&#xff1a;解压。 cd data tar -zxvf redis-3.2.12.tar.gz第二步&#xff1a;安装&#xff0c;PREFIX/data/redis用…

R语言数据分析案例45-全国汽车销售数据分析(可视化与回归分析)

一、研究背景 随着经济的发展和人们生活水平的提高&#xff0c;汽车已经成为人们日常生活中不可或缺的交通工具之一。汽车市场的规模不断扩大&#xff0c;同时竞争也日益激烈。对于汽车制造商和经销商来说&#xff0c;深入了解汽车销售数据背后的规律和影响因素&#xff0c;对…

Java 网络编程:Socket 与网络通信

1 引言 在古代&#xff0c;由于通信不便利&#xff0c;人们利用鸽子的飞行能力和方向辨识能力&#xff0c;驯化鸽子进行消息传递&#xff0c;即所谓的“飞鸽传书”。在现代计算机网络中&#xff0c;套接字&#xff08;Socket&#xff09;扮演了类似的角色。套接字是应用程序通…

编程之路,从0开始:结构体详解

目录 前言 正文 1、结构体引入 2、结构体的声明 3、typedef 4、结构体的匿名声明 5、结构的自引用 &#xff08;1&#xff09;链表 &#xff08;2&#xff09;自引用 6、结构体内存对齐 &#xff08;1&#xff09;对齐规则 &#xff08;2&#xff09;题目 &#x…

Flink监控checkpoint

Flink的web界面提供了一个选项卡来监控作业的检查点。这些统计信息在任务终止后也可用。有四个选项卡可以显示关于检查点的信息:概述(Overview)、历史(History)、摘要(Summary)和配置(Configuration)。下面依次来看这几个选项。 Overview Tab Overview选项卡列出了以…

04-转录组下游分析-标准化、聚类、差异分析

准备工作 1.数据标准化 标准化前需要进行数据预处理 过滤低表达的基因&#xff0c;并检查是否有异常样本 以下是常见的几种过滤方式&#xff08;过滤的标准都可以自己调整&#xff09; 1&#xff1a;在至少在75%的样本中都表达的基因&#xff08;表达是指在某个样本中count值…

常见网络厂商设备默认用户名/密码大全

常见网络厂商的默认用户名/密码 01 思科 (Cisco) 设备类型&#xff1a;路由器、交换机、防火墙、无线控制器 默认用户名&#xff1a;cisco 默认密码&#xff1a;cisco 设备类型&#xff1a;网管型交换机 默认用户名&#xff1a;admin 默认密码&#xff1a;admin 02 华…

Spring 与 Spring MVC 与 Spring Boot三者之间的区别与联系

一.什么是Spring&#xff1f;它解决了什么问题&#xff1f; 1.1什么是Spring&#xff1f; Spring&#xff0c;一般指代的是Spring Framework 它是一个开源的应用程序框架&#xff0c;提供了一个简易的开发方式&#xff0c;通过这种开发方式&#xff0c;将避免那些可能致使代码…

【热门主题】000055 网络安全:构筑数字时代的坚固防线

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【热…

鸿蒙中位置权限和相机权限

1.module.json5中添加相关权限和string.json中配置信息 2. import { hilog } from kit.PerformanceAnalysisKit; import { TAG } from ohos/hypium/src/main/Constant; import { bundleManager, common } from kit.AbilityKit; import { abilityAccessCtrl } from kit.Ability…

2024.6使用 UMLS 集成的基于 CNN 的文本索引增强医学图像检索

Enhancing Medical Image Retrieval with UMLS-Integrated CNN-Based Text Indexing 问题 医疗图像检索中&#xff0c;图像与相关文本的一致性问题&#xff0c;如患者有病症但影像可能无明显异常&#xff0c;影响图像检索系统准确性。传统的基于文本的医学图像检索&#xff0…

H.264/H.265播放器EasyPlayer.js网页直播/点播播放器关于播放的时候就有声音

EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS、WEBRTC、FMP4视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式&#xff0c;支持MSE、WASM、WebCodec等多种解码方…

Redis 的代理类注入失败,连不上 redis

在测试 redis 是否成功连接时&#xff0c;发现 bean 没有被创建成功&#xff0c;导致报错 根据报错提示&#xff0c;需要我们添加依赖&#xff1a; <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>&l…

Prometheus结合K8s(一)搭建

公司之前K8s集群没有监控&#xff0c;top查看机器cpu使用率很高&#xff0c;为了监控pod的cpu和内存&#xff0c;集群外的mysql资源&#xff0c;初步搭建了Prometheus监控系统 提前准备镜像 docker.io/grafana/grafana 10.4.4 docker.io/prom/prometheus v2.47.2 docker.io/…