C语言基础数学逻辑篇

在C语言编程中经常会遇到数学问题,如果你C语言刚刚入门,不妨来看看下面的数学基础篇吧!

  • 水仙花数的判断

首先,我们要知道水仙花数是什么东西?水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身,例如说1^3 + 5^3+ 3^3 = 153,那么153就是一个水仙花数,那么判断是不是,其实就是把一个数的百位,十位,个位分别拆出来进行计算

#include<stdio.h>
int main()
{int num,a,b,c;//a,b,c代表百位、十位、个位数字printf("请输入一个三位数:");scanf("%d",&num);a=(num-(num%100))/100;b=((num%100)-(num%10))/10;c=(num%100)%10;if(a*a+b*b+c*c==num){printf("这个数字是水仙花数!");}else{printf("这个数字不是水仙花数!");}return 0;
}
  • 有2、4、6、9三个数字,计算这三个数字可以组成多少个无重复数字的三位数,并输出它们

这个问题也是要从百位十位个位进行考虑,因为这三个位都有不同的数可以选择,所以需要三重循环,然后又因为不能有重复数字,所以要用条件语句进行判断

#include<stdio.h>
int main()
{int nums[]={2,4,6,9};int answer[100];int h=0,i,k,a;for(i=0;i<=3;i++){for(k=0;k<=3;k++){if(k!=i){for(a=0;a<=3;a++){if(a!=k&&a!=i){answer[h]=nums[i]*100+nums[k]*10+nums[a];h++;}}}}}printf("总共可以组成%d个三位数:\n");for(i=0;i<=h;i++){printf("%d\t",answer[i]);}return 0;
}
  • 约瑟夫生者死者小游戏,30 个人在一条船上,超载,需要 15 人下船,于是人们排成一队,排队的位置即为他们的编号。报数从 1 开始,数到 9 的人下船。如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?

这个问题要注意数,如果报数到9,那个人就要下船,计数器要重置,并且下一次遍历时就不考虑那个人,没到9,计数器+1,遍历下一个人。然后再写一个记录下船人的号码的数组,方便最后输出。

#include<stdio.h>
int main()
{int nums[30],out[15];int i,p=0,note=0,remain=30; //i是循环变量,p是记录下船人数的变量,note报数器,remain是剩余人数for(i=0;i<30;i++){nums[i]=i+1;}while(remain>15){for(i=0;i<30;i++){if(nums[i]!=0){note++; //开始报数if(note==9){out[p]=nums[i];nums[i]=0;p++;remain--;note=0;}}else{continue;}}}for(i=0;i<15;i++){printf("第%d号船员要下船\n",out[i]);}return 0;
}

C语言基础数学逻辑篇相关推荐

  1. C语言if-else逻辑——想通了,再碰到就是小菜一碟!

    大一刚结束,跟着老师不紧不慢地学了一学期C语言.对C算是有一定的了解,并成功入了码农的坑,立志好好写代码,做一名合格的程序媛. 为了能够学好,尝试写代码.看代码.写博客,希望能够有所进步~ 我对自己一 ...

  2. 从零开始C语言精讲篇1:初识C语言

    文章目录 前言 一.什么是C语言(了解) 二.第一个C语言程序 三.数据类型 四.变量.常量 4.1变量 4.1.1定义变量的方法 4.1.2变量的分类 4.1.3变量的使用 4.1.4变量的作用域和 ...

  3. java语言仅支持单重继承_java语言程序设计基础篇习题_复习题_第十一章

    java语言程序设计基础篇习题_复习题_第十一章 11.1 下面说法是真是假?一个子类是父类的子集. 11.2 使用什么关键字来定义一个子类 11.3 什么是单一继承?什么是多重继承?java支持多重 ...

  4. C语言重点——指针篇(一篇让你完全搞懂指针)

    C语言重点--指针篇(一篇让你完全搞懂指针) 一. 前言 C语言是比较偏底层的语言,为什么他比较偏底层,就是因为他的很多操作都是直接针对内存操作的. 这篇我们就来讲解C语言的一大特点,也是难点,指针和 ...

  5. 统计一段英文中单词的个数c语言,C语言统计一篇英文短文中单词的个数实例代码...

    具体代码如下所述: #include #define N 1000 void main(){ char en[N][81]; int i,j,num=0,n,state; //num 用来统计单词的个 ...

  6. Java程序设计语言(基础篇)机械工业出版社 原属第10版

    链接:https://pan.baidu.com/s/1txoB3sk0SdT1u8RpS2x-Kg  提取码:rxkd  Java程序设计语言(基础篇)机械工业出版社 原属第10版 外加一本Java ...

  7. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...

    本文主要介绍了Python语言学习基础篇之Python发送Post请求之根据参数位置传参.数据类型.不同方式传参,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助. 目录 一.验证 ...

  8. 程序设计基础——c语言篇,C语言程序设计基础篇.ppt

    C语言程序设计基础篇 C 语言程序设计-基础篇 第 2 章 数据类型和输入输出 2.1 数据类型 著名计算机科学家沃思提出: 程序=数据结构+算法 例如:学生各科成绩及总分排队问题. 成绩存放 –– ...

  9. 《JAVA 语言程序设计基础篇》chapter 5 方法

    <JAVA 语言程序设计基础篇>chapter 5 方法 依然是先回顾一下上一章的内容 主要是关于循环语句 这里做一个有关于蒙特卡罗模拟有关的练习 先是一段背景介绍 蒙特卡罗方法通过抓住事 ...

最新文章

  1. Speed4Web 绿色纯净版
  2. Windows 10 周年更新后的 Edge 14 的 HierarchyRequestError 报错
  3. JS动态加载脚本及对动态脚本内方法的调用
  4. 郑州尚学堂:JAVA常用4种排序方法
  5. LeetCode5377. 将二进制表示减到1的步骤数
  6. SpringMVC的请求-获得请求参数-获得请求头信息
  7. CRM呼叫中心采用轮询和SNS服务器两种方式的架构
  8. python创建虚拟环境venv_Python 3 使用venv创建虚拟环境
  9. 虚拟化精华问答 | 虚拟化技术分类
  10. 洛谷 P1843 奶牛晒衣服 1
  11. Bailian4020 缺少的扑克牌【set】
  12. Web前端 — Bootstrap(2)
  13. 微信小程序自适应横屏全屏显示(以PPT为例)
  14. 将mmd模型改造成游戏可用模型
  15. USB转串口那些事儿—USB转串口工作原理及应用
  16. 百度地图api-个性化地图-主题更换
  17. Uva - 1589 - Xiangqi
  18. dword 占用多少信_【优质文档】土地占用投诉信-精选word文档 (5页)
  19. 初学者这样玩 TypeScript,迟早进大厂系列!
  20. MS-DOS 命令例子

热门文章

  1. 编程语言在那些运用中
  2. 【CSP-S 2019】【洛谷P5664】Emiya 家今天的饭【dp】
  3. Java语言基础(一)
  4. Equitability, mutual information, and the maximal information coefficient
  5. 用javascript做网页轮播图
  6. chatGPT衣食住行10种场景系列教程(01)使用chatGPT设计发型、P图变漂亮~真帅哈哈哈~
  7. 木箱包角是做什么用的?
  8. 使用NVRAM的简单解决方案
  9. paypal支付集成及最新paypal申请API签名入口
  10. C/C++编程:libssh2 API学习