5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果(使用函数)

本文主要是介绍5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果(使用函数),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;

比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。 

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>int Forecast(int arr[])//判断预测结果
{if ((arr[1] == 2) + (arr[0] == 3) == 1&& (arr[1] == 2) + (arr[4] == 4) == 1&& (arr[2] == 1) + (arr[3] == 2) == 1&& (arr[2] == 5) + (arr[3] == 3) == 1&& (arr[4] == 4) + (arr[0] == 1) == 1)return 1;else return 0;
}
int Repetition(int arr[])//判断数组内的值是否有重复的
{int i = 0;int j = 0;for (i = 0; i < 5; i++)for (j = i + 1; j < 5; j++){if (arr[i] == arr[j])return 0;}return 1;
}
int main()
{int arr[5] = { 0 };//数组arr[0]~arr[4]分别代表A B C D E//arr[i]的值表示其名次for (arr[0] = 1; arr[0] <= 5; arr[0]++){for (arr[1] = 1; arr[1] <= 5; arr[1]++){for (arr[2] = 1; arr[2] <= 5; arr[2]++){for (arr[3] = 1; arr[3] <= 5; arr[3]++){for (arr[4] = 1; arr[4] <= 5; arr[4]++){if (Forecast(arr) == 1)if (Repetition(arr) != 0)printf("A:为第%d名 B:为第%d名 C:为第%d名 D:为第%d名 E:为第%d名\n", arr[0], arr[1], arr[2], arr[3], arr[4]);}}}}}  system("pause");return 0;
}

优化:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>  
#include <stdlib.h>int maim()
{int a, b, c, d, e;for (a = 1; a <= 5; a++){for (b = 1; b <= 5; b++){for (c = 1; c <= 5; c++){for (d = 1; d <= 5; d++){for (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) && ((e == 4 || a == 1)==1)){if ((a*b*c*d*e == 120) && (a + b + c + d + e == 15))printf("a是第%d名,b是第%d名,c是第%d名,d是第%d名,e是第%d名", a, b, c, d, e);}}}}}}system("pause");return 0;
}

这篇关于5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果(使用函数)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/494148

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

java中查看函数运行时间和cpu运行时间

android开发调查性能问题中有一个现象,函数的运行时间远低于cpu执行时间,因为函数运行期间线程可能包含等待操作。native层可以查看实际的cpu执行时间和函数执行时间。在java中如何实现? 借助AI得到了答案 import java.lang.management.ManagementFactory;import java.lang.management.Threa

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

SQL Server中,isnull()函数以及null的用法

SQL Serve中的isnull()函数:          isnull(value1,value2)         1、value1与value2的数据类型必须一致。         2、如果value1的值不为null,结果返回value1。         3、如果value1为null,结果返回vaule2的值。vaule2是你设定的值。        如