首页 > 编程语言 >c/c++快乐算法第一天

c/c++快乐算法第一天

时间:2023-04-14 22:11:52浏览次数:30  
标签:编程 第一天 int 31 30 c++ 算法 源代码

c/c++感受算法乐趣(1)

开始时间2023-04-14 18:31:47

结束时间2023-04-14 22:06:02

前言:经过两天的学习,是不是发现编程也挺简单的。其实不然,学好算法同时也是练习编程的关键一环。接下来每周末我将会带领你感受算法的乐趣。目前题目摘自c语言趣味编程100例清华大学出版社,我会根据编程四部曲给出每题题解,话不多说让我们一起来看看吧!

第一章 趣味算法入门

 

 第一题 百钱白鸡问题

一.问题描述

 

二.设计思路

  本题无输入,百钱最多买公鸡20只,母鸡33只,小鸡很多只,很明显可以用三个嵌套循环模拟,达成条件为公鸡加母鸡加小鸡为100只而且用百钱;

三.流程图

四.源代码

#include<stdio.h>
int main()
{
    int gongji,muji,xiaoji;
    for(gongji=0;gongji<20;gongji++)
    {
        for(muji=0;muji<33;muji++)
        {
            for(xiaoji=0;xiaoji<=100;xiaoji++)
            {
                if((gongji*5+muji*3+xiaoji/3.0)==100&&(gongji+muji+xiaoji)==100)
                {
                    printf("公鸡=%d只\t母鸡=%d只\t小鸡=%d只\n",gongji,muji,xiaoji);
                }
            }
        }
    }
    return 0;
}

 

五.运行结果

 

 第二题 借书方案知多少

一.问题描述

 

 二.设计思路

  无输入,很明显的枚举模拟,a可以选五次,同理bc也一样,但要满足abc三位小朋友借到的不是一本书即if(a!=b,b!=c,c!=a)

三.流程图

四.源代码

#include<stdio.h>
int main()
{
    int a,b,c,i=0;
    for(a=1;a<=5;a++)
    {
        for(b=1;b<=5;b++)
        {
            for(c=1;c<=5;c++)
            {
                if(a!=b&&b!=c&&c!=a)
                {
                    printf("a分到第%d本书 b分到第%d本书 c分到第%d本书",a,b,c);
                    i++;
                    if(i%3==0)printf("\n");
                }
            }
        }
    }printf("共有%d种分法",i);
    return 0;

}

 

五.运行结果

 

 第三题 打鱼还是晒网

一.问题描述

 

 二.设计思路

  本题有输入(输入为某一天的年月日信息),我们可以先求出这一天距离1990.1.1的天数,然后以五为周期求余数,余数为123则打鱼,余数为40则为晒网;

三.流程图

四.源代码

#include<stdio.h>
int main()
{
    printf("请以年月日的格式输入指定日期");
    int year,month,day;
    int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    scanf("%d %d %d",&year,&month,&day);
    int sum=0;
    int i=1990;
    for(i=1990;i<year;i++)
    {
        sum+=365;
        if((i%4==0&&i%100!=0)||(i%400==0))
        {
            sum++;
        }
    }
    for(i=0;i<month-1;i++)
    {
        if(month==1)break;
        sum+=a[i];
    }
    if(month>2){
        if((year%4==0&&year%100!=0)||(year%400==0))
        {
            sum++;
        }
    }
    sum+=day-1;
    int yush=sum%5;
    if(yush%5==1||yush%5==2||yush%5==3)
    {
        printf("打鱼");
    }
    else
    {
        printf("晒网");
    }
    return 0;
}

 

五.运行结果

 

 

 

 每日一mo:过度的清醒,会让人觉得薄凉冷漠;过度的沉醉,又会让人感到浮浅迷离。所以,完美的人生,当是留一半清醒,留一半醉意。

标签:编程,第一天,int,31,30,c++,算法,源代码
From: https://www.cnblogs.com/R-f-12/p/17320098.html

相关文章

  • 递归算法;求n的阶层
    java:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringa=sc.next();intb=Integer.parseInt(a);System.out.print(factorial(b));}p......
  • 极简cfs公平调度算法
    1.说明1>linux内核关于task调度这块是比较复杂的,流程也比较长,要从源码一一讲清楚很容易看晕2>本篇文章主要是讲清楚cfs公平调度算法如何将task在时钟中断驱动下切换调度,所以与此无关的代码一律略过3>本篇只讲最简单的task调度,略过组调度,组调度在下一篇《极简组调度-CGroup......
  • 基于L2-RLS算法的目标跟踪算法matlab仿真,可处理小范围遮挡问题
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要目标表观模型是跟踪器的重要组成部分,用来描述目标表观的特征.基于判别式模型的表观模型用来区分目标和背景;基于生成式模型的表观模型用来描述目标本身,提取出目标的特征.本文合理地融合了判别式模型和生成式模型......
  • 基于人工鱼群优化的电网规划算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要人工鱼群算法(ArtificialFishSwarmAlgorithm,简称AFSA)是受鱼群行为的启发,由国内李晓磊博士于2002年提出的一种基于动物行为的群体智能优化算法,是行为主义人工智能的一个典型应用,这种算法源于鱼群的觅食行为。......
  • 基于L2-RLS算法的目标跟踪算法matlab仿真,可处理小范围遮挡问题
    1.算法仿真效果matlab2022a仿真结果如下:            2.算法涉及理论知识概要       目标表观模型是跟踪器的重要组成部分,用来描述目标表观的特征.基于判别式模型的表观模型用来区分目标和背景;基于生成式模型的表观模型用来描述目标本身,提取......
  • 基于人工鱼群优化的电网规划算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要       人工鱼群算法(ArtificialFishSwarmAlgorithm,简称AFSA)是受鱼群行为的启发,由国内李晓磊博士于2002年提出的一种基于动物行为的群体智能优化算法,是行为主义人工智能的一个典型应用,这种算法源......
  • 代码随想录算法训练营Day01 | LeetCode704 二分查找、Leetcode27 移除元素
    今日学习的视频和文章代码随想录数组基础复习基础知识代码随想录二分查找代码随想录移除元素LeetCode704二分查找题目链接:704.二分查找-力扣(Leetcode)以前学二分查找的时候,真的一直搞不清楚怎么操作左边界和有边界,以及循环的终止条件是什么,总是自己慢慢调试出来,......
  • C++第三章课本例题
    游戏规则是:每个骰子有6面,点数分别为1、2、3、4、5、6。游戏者在程序开始时输入个无符号整数,作为产生随机数的种子。每轮投两次骰子,第一轮如果和数为7或11则为胜,游戏结束;和数为2、3或12则为负,游戏结束;和数为其他值则将此值作为自己的原数,继续第二轮、第三轮……直到某轮的和数等于......
  • 趣味打卡第一天(包装机)
    包装机用到栈和队列:注意要找准用栈还是队列,栈要注意段错误#include<bits/stdc++.h>usingnamespacestd;intmain(){stack<char>kuang;//用栈模拟框(容易理解)queue<char>a[1000];//用队列模拟轨道(它是按键盘的输入顺序输出的,是先进先出)intm,n,s;cin>>n>>m>>s;......
  • C++复习第六天(继承、多态)
    vector.clear()将size设置为0,capacity不变 继承//公共页面classBasePage{public:voidheader(){cout<<"首页、公开课、登录、注册...(公共头部)"<<endl;}voidfooter(){cout<<"帮助中心、交流合作、站内地图...(......