for循环趣味题

C语言趣味题 问题 A: 趣味程序设计_狼追兔子时间限制: 1 Sec  内存限制: 128 MB提交: 341  解决: 63[提交][状态][讨论版]题目描述一只兔子躲进了n个环形分布的洞的某一个中。狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?输入有多组测试数据,读取到文件结尾... 阅读详情

今天分享一个for循环经典趣味题:
1.谁是跳水第一名

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int main()
{ 
  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) || (B != 2 && A == 3)) && ((B == 2 && E != 4) || (B != 2 && E == 4)) && ((C == 1 && D != 2) || (C != 1 && D == 2))
							&& ((C == 5 && D != 3) || (C != 5 && D == 3)) && ((E == 4 && A != 1) || (E != 4 && A == 1))&&(A*B*C*D*E==120))
							printf("A=%d , B=%d , C=%d , D=%d , E=%d\n",A,B,C,D,E);
					}
				}
			}
		}
	}
	system("pause");
	return 0;
}
    解释下因为A,B,C,D,E五个人所以针对有有5*4*3*2*1=120种情况里的一种所以需要五层循环,if判断条件根据题中所给条件来确定,每个人都有一句真话,一句假话,所以如上面代码所写的那样,要么前半句真要么后半句真,然后是所有人说的话的情况和的与,以及一个最后的120种情况限定的筛选。

2.谁是凶手

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个
嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int main()
{ 
   char killer;
	for (killer = 'A'; killer <= 'D'; killer++)
	{
		if ((killer != 'A') + (killer == 'C') + (killer == 'D') + (killer != 'D') == 3)
		printf("killer = %c\n",killer);
	}
	system("pause");
	return 0;
}
    这个问题因为是四个人中找一个凶手所以一层循环就够了,根据题意有三个人说了真话,一个说了假话,所以用或的关系连接四个人所说的话结果应该返回3,因为有三个真值。代码一开始就是用字符比较好,如果显示用整形后面转换为字符型的话,还要加上64,如果有一天ASCII码表变了的话上面那个方法的代码就得变,显得很不方便,所以我选用一开始就是用字符表示。

3.输出杨辉三角

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void triangle(int n)
{
	int a[100][100];
	for (int i = 0; i < n; i++)
	{
		a[i][0] = 1;
		a[i][i] = 1;
	}
	for (int i = 2; i < n; i++)
	{
		for (int j = 1; j < i; j++)
		{
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
		}
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j <= i; j++)
		{
			printf("%5d",a[i][j]);
		}
		printf("\n");
	}
}
int main()
{
    int n;
	printf("请输入行数:\n");
	scanf("%d",&n);
	triangle(n);
	system("pause");
	return 0;
}
   杨辉三角主要是要观察他的每行及列的规律然后用for循环就比较简单了,因为第一列以及每行的最后一列都是1,所以开始用for循环直接赋值为1,然后从第三行开始,以及第二列往后到最后一列以前的每个数都是他上一行的数和上一行前一列的数之和。
【C语言趣味教程】(12) 循环语句Ⅱ:for 循环 | for 循环的嵌套 | for 的省略 | 死循环 for(;;) | 左闭右开写法 | for 语句中的 break 和 continue for 循环的关键字为 for,后面跟着括号,括号中有 3 个表达式,每个表达式用 ; 区隔开来。 阅读详情

相关推荐

《Python入门到精通》循环语句 while循环,for循环

while 用来「反复执行」某一段代码,「满足条件」时进入循环,「不满足条件」时跳出循环。

wangyuxiang946的博客 1万+

奇葩for循环

研究问题: 普通for循环与增强for循环? 要点: 常见的for循环语法如下: for(初始值;判断条件;迭代变量){ 执行语句······ } 增强for循环 for(元素类型 ele : 数组名/Iterable 实例){ } 截图展示区: 奇葩的普通for循环 class ForDemo { static void A() { ...

SunshineBoy的博客 893

第五章Python循环习题及答案--中文

第五章Python循环习题及答案--中文

好玩儿的for循环

作为程序员,相信大家对于常见的“for”循环并不陌生,在实际的项目代码编写的过程中,我总结了几个常用的比较好玩儿的“for”循环。若有不足之处,还请各位大佬批评与指正。 一、Java中的'for'循环   写法1:   for(单步表达式; 条件表达式; 步长){       循环体;       ......   }   此写法在C与C++中通用   例1:   for(int...

Demos丶丶 684

PID温控实验平台搭建(二)——PID进阶知识介绍及源码分享

最近,我突发奇想去翻阅了一些我本科期间所做的一些小项目,发现都挺有意思的!希望通过我的讲解文章可以帮助你们少走一些弯路!今天,我要分享的是一个PID温控实验平台的搭建,这是一个系列文章,手把手地教你学习和认识PID算法,了解这种算法在温度控制中的应用。由于我知识有限,如果出现一些错误,希望大家可以帮助我指出来,我们一起学习进步!!!

qq_35953617的博客 8049

【Matlab/simulink/carsim】再生制动

【Matlab/simulink/carsim】再生制动

weixin_62311849的博客 621

编程趣味知识:严谨的军人长官“for循环”

大家好呀,我是“缺电”的人工智能(AI)机器人,大家可以叫我小艾哦! 新年到啦!小艾在此给大家拜年,祝各位在牛年里牛气冲天、牛笔哄哄、牛运亨通! 祝福结束啦,说回正题,今天是“酷圈小艾编程趣味知识”系列第七期哦!这一期,小艾将为大家介绍酷圈小艾编程的循环家族里一位严谨的军人长官“for循环”。 大家都知道,军人是纪律严明的。有句有争议的老话有说:军人以服从命令为天职。这种服从性在阅兵仪式上获得了充分的展示,军人们听从长官的命令,整齐划一地做出标准的动作,让整支队伍看起来充满了力量和气势,展示了军人的气魄

coolquan123的博客 313

idea 编译打包nacos2.0.3源码,生成可执行jar 包常见问题

idea 编译打包nacos2.0.3源码,生成可执行jar 包常见问题

fyihdg的专栏 1218

有趣的跳跃(循环判断)

有趣的跳跃 一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。例如,1 4 2 3存在“有趣的跳跃”,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在“有趣的跳跃”。你需要写一个程序判定给定序列是否存在“有趣的跳跃” 输入:一行,第一个数是n(0 < n < 3000),为序列长度,接下来有n个整数,依次为序列中各元素,各元素的绝对值均不超过1,000,000,000。 输出:一行,若该序列存在“有趣的跳跃

Doomer_0的博客 3650

OpenWrt路由开启DDNS+端口转发进行外网访问

OpenWrt路由开启DDNS+端口转发进行外网访问(LuCI界面实现)--开篇一、准备工作二、开机!三、连接--结尾 –开篇 本篇适用于一切装有OpenWrt系统的路由器/软路由,只要你保证有WAN接口和一个光猫,甚至你不需要有LAN接口(当然前提是你能连接路由器的WIFI进后台,不然你只能通过LAN进后台咯)。所有的配置过程都是基于LuCI界面来的,当然大神们一般都通过SSH登陆路由使用命令配置,但我也不会啊,只能给个有GUI界面的教程了。 一、准备工作 一个装有OpenWrt系统的路由器/软路由并

秋之颂的博客 9万+

JPA - @MappedSuperclass - 基类注解

目录前言代码示例 前言 @MappedSuperclass注解一般作为基类的注解,表眀该类是映射的超类,继承于它的子类实体在映射时会自动添加到子类实体的对应数据库表中,用于共同的属性代码复用和模型分离。 代码示例 BaseEntity.java import lombok.Getter; import lombok.Setter; import javax.persistence.MappedSuperclass; import java.util.Date; @Getter @Setter @Ma

Maggieq8324的博客 2065

程序员笑话74

刚在公交车上,一小朋友拿着一本英语书,问她爸爸:xxxxxxfor100years,这里为什么用for呢?她爸说:你看,100years时间很长很长,要循环100次才行,当然用for呀!我听到后,恍然大悟!

314

MatterPort3D 数据集下载

【代码】MatterPort3D 数据集下载。

qq_44106838的博客 6783

JAVA 基础知识点复习(四)三大控制结构

这里写目录标题顺序结构选择结构循环结构趣味题 顺序结构 从上至下,从左至右 选择结构 (1) if…else if (true) {} if (true) {} else {} if (true) {} else if (true) {} else {} (2) switch switch 后可以跟char、byte、short、int、Character、Byte、Short、...

weixin_42598683的博客 6090

UOS忘记密码别慌!用LiveCD工具5分钟搞定,附命令行救援模式详细步骤

本文详细介绍了UOS系统密码遗忘时的两种解决方案:图形化LiveCD工具和命令行救援模式。针对普通用户,LiveCD工具提供5分钟快速重置密码的便捷操作;而技术人员可通过命令行深度解析系统分区挂载与密码修改流程。文章还包含安全加固建议,帮助用户预防类似问题发生。

weixin_27032989的博客 590

华为昇腾Atlas 200I DK A2实战:从开箱到运行首个AI应用

本文详细介绍了华为昇腾Atlas 200I DK A2开发板从开箱到运行首个AI应用的全过程。包括硬件准备、系统烧录、开发板连接方案、AI应用运行及性能优化技巧,帮助开发者快速上手部署AI项目,提升开发效率。

weixin_27038245的博客 591

几个有趣的java循环语句逻辑题

下面一些题是我在学习java循环语句的时候遇见的

xm's blog 1412

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

双重循环趣味题

今天在做一些双重循环打印的趣味题,在这里分享一下我幼稚的代码: 1 /* 2 * 利用双重循环打印 3 * * 4 * *** 5 * ***** 6 * ******* 7 * ********* 8 * ******* 9 * ***** 10 * *** 11 * * 12 ...

aowei4309的博客 365

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Hankson趣味题

1.基本要求 求N个数的最大公约数和最小公倍数 1.1算法思路 先求出两个数的最大公约数(最小公倍数),然后将他们的最大公约数(最小公倍数)与第三个数求最大公约数(最小公倍数),由此递推求多个数的最大公约数(最小公倍数)。 1.3运行结果 1.4调试结果 2.提高要求 Hankson趣味题—“求公约数”和“公倍数”之类问题的逆问题 2.1算法思路 先用穷举法求出两个数的最大公约数和最小公倍数,...

qq_43266440的博客 571

《小学生C++趣味编程》第 3单元 for循环

《小学生C++趣味编程》第 3单元 for循环

青少年趣味编程 472

python循环语句for计数_Python趣味入门6:能计数的循环语句for

上一篇讲了while语句,朋友们是否已经摸到循环的大门了,其实在实际当中for循环远比while循环更加常用。由于涉及集合类型,咱们先从数列开始。1、range数列在数学上数列表达是一组有顺序的数字,在Python里可以很容易使用range()函数(并不是函数其实是类)生成一组整数数列,用法如下:range(开始,结束,步长)说明:上述代码将会生成从“开始”(默认0)到“结束”(不包括)的整数数列...

weixin_35260153的博客 3429

java第六章for循环课后作业

第一题:使用for循环结构实现:从键盘上接受从周一至周五每天的学习时间(以小时为单位),并计算每日平均学习时间。public static void test6() { /* * p136,第六章作业! * 从键盘上接受周一至周五每天的学习的时间(一小时为单位),并计算每日平均学习的时间。 */ int sum = 0; //学习总时间 double avg =...

suixinCaesar的博客 7208

趣味循环

趣味循环 一下是趣味十足的几道关于循环的题目。 1、请声明一个对i的声明,将下面的循环转变为一个无限循环 while(i!=i) {} 有木有一开始愣了,很明显的i!=i返回肯定是false,这应该是马上终止的。 翻阅资料后: 原来IEEE754浮点算数保留了一个特殊值用来表示一个不是数字的数量。这个值就是NaN,即NotaNumber的缩写。...

194

零基础学编程:for循环的5个趣味小例子

我试做时发现,平台会自动补全代码提示,遇到错误也有明确提示,对小白非常友好。建议从最简单的累加器开始,逐步挑战更复杂的项目,你会惊讶自己这么快就掌握了循环的精髓!上测试过,它的在线编辑器能实时看到运行效果,特别适合新手边学边练。像抽奖程序这类项目,还能一键部署成可访问的网页,和朋友分享你的学习成果。今天就用5个有趣的小例子,带大家边玩边学——放心,完全不需要基础!:内层循环忘记缩进,或者误用同一个循环变量名(建议外层用。:可以添加去重逻辑,避免同一人中奖多次。:可以在循环内打印剩余次数,比如。

SilvermistFalcon19的博客 399

《小学生C++趣味编程》视频 第 3单元 for循环

《小学生C++趣味编程》 视频 第 3单元 for循环

青少年趣味编程 503

从零开始:MATLAB for循环的趣味实践

本文详细介绍了MATLAB中for循环的基础语法、经典案例和效率优化技巧,帮助初学者快速掌握这一强大的编程工具。通过斐波那契数列、水仙花数等趣味实例,展示了for循环在科学计算中的实际应用,并提供了预分配数组、向量化操作等关键优化策略,显著提升代码执行效率。

weixin_29091837的博客 288
上一篇: 猜数字小游戏(C语言版)
下一篇: 递归问题集合
Python_programer
博客等级 码龄9年 25粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值