C:题目介绍

news/2024/9/19 13:27:35/ 标签: c语言, 开发语言, 数组

 

一、算天数

1.题目:

kiki向获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。

输入描述:

多组输入,一行有两个整数,分别表示年份和月份,用空格分隔。

输出描述:

针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。

2.解析:

首先我们需要知道天数是31天的月份有哪些,天数是30天的月份有哪些,以及二月哪些年是28天,哪些年是29天。

查阅资料,一月有31天的是每年的1月,3月,5月,7月,8月,10月,12月;

一月由30天的是每年的4月,6月,8月,11月;

关于2月是29天还是28天,是通过该年是否是闰年,如果是闰年,就是29天,如果不是闰年,就是28天。

那么怎么判断闰年呢?判断闰年有两种方法:

1.能被4整除且不能被100整除;

2.能被400整除的数。

3.完成代码

#include <stdio.h>
void judge (int year, int month) 
{// 数组 arr 用于存储每个月的天数,其中索引 0 处的值未使用,方便月份与数组下标对应int arr [] = { 0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};// 判断是否为闰年,如果是闰年则将 2 月的天数修改为 29 天if (year % 4 == 0 && year % 100!= 0 || year % 400 == 0) {arr [2] = 29;}// 输出指定月份的天数printf ("%d\n", arr[month]);
}
int main() 
{int year = 0;int month = 0;while (scanf("%d %d", &year, &month)!= EOF)     judge(year, month); // 调用 judge 函数判断并输出该年份和月份对应的天数
}

5f55ed789ed14c82b700b113ad9f04b1.png

二、杨辉三角

1、题目:

在屏幕上打印杨辉三角

1
1 1
1 2 1
1 3 3 1
…………

2、解析:

知识补充:

关于杨辉三角,或许有些人不了解什么是杨辉三角,所以小编先介绍一下什么是杨辉三角

杨辉三角很有规律,结合上面的例题来看,它每一行的开头和结尾都是1,而且,这个三角形中的每一个数字都有一个特点,就是它等于上方两个数字之和。比如说,如果上面一行是“1 2 1”,那么下一行对应位置的数字就是由上面决定的,中间两个数字1和2相加的到3,所以下一行就变成了“1 3 3 1”或许文字解释难以理解,接下来我会通过画图的方式再来辅助理解一下。

977cd4ef4733480f8700bc6b27fefc23.jpeg

理解了什么是杨辉三角后,我们就可以开始思考代码该如何编写了。

不过为了能够更好的方便我们编写代码,我们就以下图为例

72bf41c40d8e4483b6b63f6573ed33fd.jpeg

为什么这样写呢?是因为这样的话更容易确定行数。

思路分析:

首先定义一个变量n用来存储我们要输入的行数;

初始化一个二维数组arr用来存放杨辉三角;

我们可以先将一些特殊的位置打印出来,比如说第一行第一个数字是1

arr[0][0] = 1;(注意,这里的0是指索引值

关于杨辉三角的打印,我们可以使用两个嵌套的for循环。

外层循环用来控制行数以及打印每行的开头的数字

arr[i][0] = 1;

内层循环用来打印去掉每一行开头和结尾的数字。

通过前面的到的关于杨辉三角的特点,我们可以知道下一行数字由上一行数字两两相加得到,

因此可以得到arr[i][j] = arr[i -1][j]+arr[i - 1][j -1];

最后在打印每行的结尾数字1;

arr[i][j] = 1;

3、完成代码

#include <sddio.h>
int main()
{int n = 0;printf("请输入行数:");scanf("%d",&n);int arr[n][n] = 0;arr[0][0] = 1;for(int i = 1;i < n;i++){arr[i][0] = 1;for(int j = 1; j<i ;j++){arr[i][j] = arr[i-1][j-1]+arr[i-1][j];}arr[i][j] = 1;}for(int i = 0; i < n ;i++){for(int j = 0; j <= i;j++){printf("%d ",arr[i][j];}printf("\n");}return 0;
}

 


http://www.ppmy.cn/news/1527658.html

相关文章

《C++移动语义:解锁复杂数据结构的高效之道》

在 C的编程世界中&#xff0c;移动语义是一项强大的特性&#xff0c;它能够在处理复杂数据结构如链表、树等时&#xff0c;极大地提高程序的性能和效率。理解并正确实现移动语义在这些复杂数据结构中&#xff0c;对于开发者来说至关重要。 一、移动语义简介 C11 引入了移动语…

Docker 镜像制作(Dockerfile)

1 Dockerfile 概念 Dockerfile 是什么&#xff1f; 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本&#xff0c;用这个脚本来构建、定制镜像,这个脚本就是 Dockerfile。 Dockerfile 是一个文本文件&a…

Redis常见应用场景

目录 一、实现博客点赞功能 二、实现博客点赞用户列表功能 三、好友关注和取关以及求共同关注 四、实现关注推送 1、拉模式 2、推模式 3、推拉结合 四、三种模式对比 这里简单记录一下&#xff0c;没有实现方法&#xff0c;只是帮助记忆 一、实现博客点赞功能 可以通…

【机器学习导引】ch2-模型评估与选择

文章目录 经验误差与过拟合 &#xff08;Empirical error &overfitting&#xff09;1. **均方误差&#xff08;Mean Squared Error, MSE&#xff09;**2. **均方根误差&#xff08;Root Mean Squared Error, RMSE&#xff09;**3. **平均绝对误差&#xff08;Mean Absolute…

MySQL基础(11)- 创建管理表

目录 一、数据库的常见、删除与修改 1.如何创建数据库 2.管理数据库 3.修改数据库 4.删除数据库 5.如何创建数据表 6.修改表 --> ALTER TABLE 7.重命名表 8.删除表 9.清空表 10.DCL 中 COMMIT 和 ROLLBACK 11.对比 TRUNCATE TABLE 和 DELETE FROM 12.DDL 和…

爬虫代理API的全面解析:让数据抓取更高效

在大数据时代&#xff0c;网络爬虫已经成为收集和分析数据的重要工具。然而&#xff0c;频繁的请求会导致IP被封禁&#xff0c;这时候爬虫代理API就显得尤为重要。本文将详细介绍爬虫代理API的作用、优势及如何使用&#xff0c;帮助你更高效地进行数据抓取。 什么是爬虫代理AP…

k8s环境下的相关操作

9.12 k8s calico的部署 # lsanaconda-ks.cfg k8s-ha-install kubeadm-config.yaml new.yaml token# 切换 git 分⽀[rootk8s-master ~]# cd k8s-ha-install/[rootk8s-master k8s-ha-install]# git checkout manual-installation-v1.28.x && cd calico/分支 manual…

C# SQL 辅助工具

{/// <summary>/// sql 辅助工具/// </summary>public class SqlStructureHelps{#region 增删改查/// <summary>/// 截断/// </summary>/// <typeparam name"T"></typeparam>/// <returns></returns>public static …

vue2项目实现国际化(若依框架示例)

本文主要梳理vue2项目实现全项目格式化&#xff0c;在导航栏中切换&#xff0c;页面中所有的组件的默认语言随之切换&#xff0c;搭配vue-i18n插件 文章目录 基础准备引入插件vue-i18n 实现示例流程1. 创建国际化文件1.1 element文件夹1.2 locales文件夹1.3 index.js1.4 change…

Vue 3有哪些新特性

Composition API&#xff1a; 这是 Vue 3 中最引人注目的新特性之一。Composition API 提供了一种全新的方式来组织和重用逻辑。它允许你将组件的逻辑按功能组织成可复用的代码块&#xff08;称为“组合式函数”&#xff09;&#xff0c;而不是像 Vue 2 那样按选项&#xff08;…

【乐企-业务篇】开票前置校验服务-规则链服务接口实现(发票基础信息校验)

开票前置校验服务-规则链服务接口实现(发票基础信息校验) 代码 import liquibase.pro.packaged.L; import org.apache.commons.collections4.Collec

wpf 使用Oxyplot 库制作图表示例

方法&#xff1a; InitTable 方法&#xff1a;负责初始化图表模型&#xff0c;包括设置图表的样式、坐标轴、系列和注释。这个方法包括多个 Init 方法的调用&#xff0c;表示图表的初始化过程可以分步骤进行。 InitGoalPoint 方法&#xff1a;当前未实现&#xff0c;但预留了子…

渗透测试综合靶场 DC-2 通关详解

一、准备阶段 准备工具如Kali Linux&#xff0c;下载并设置DC-2靶场机。确保攻击机和靶机在同一网络段&#xff0c;通常设置为桥接模式或NAT模式。 1.1 靶机描述 Much like DC-1, DC-2 is another purposely built vulnerable lab for the purpose of gaining experience in …

Flutter - Win32程序是如何执行main函数

Win32程序的主体结构 int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,_In_ wchar_t *command_line, _In_ int show_command) {// Attach to console when present (e.g., flutter run) or create a// new console when running with a debugger.if …

软件编程随想

已经做了16年左右的软件开发&#xff0c;从最初的Delphi开发&#xff0c;到后来的Web开发&#xff08;.net)再到Java Web&#xff08;Spring MCV,SpringBoot&#xff09;开发&#xff0c;以后Python&#xff0c;NodeJS等开发&#xff0c;做了这么多年&#xff0c;全部是以解决单…

C++ 元编程

目录 C 元编程1. 术语2. 元函数1. 数值元函数示例&#xff1a;阶乘计算 2. 类型元函数示例&#xff1a;类型选择 3. 混合编程1. 常规的计算点积范例2. 混合元编程计算点积 4. typelist实现设计和基本操作接口&#xff08;算法&#xff09;完整代码 5. tuple 实现基础知识1. 左值…

HTML讲解(一)body部分

目录 1.什么是HTML 2.HTML基本框架 3.标题声明 4.修改标题位置 5.段落声明 6.修改段落位置 7.超链接访问 8.图像访问 9.改变网页背景及文本颜色 10.添加网页背景图 11.超链接改变颜色 12.设置网页边距 小心&#xff01;VS2022不可直接接触&#xff0c;否则&#xff…

Linux文件IO(一)-open使用详解

在 Linux 系统中要操作一个文件&#xff0c;需要先打开该文件&#xff0c;得到文件描述符&#xff0c;然后再对文件进行相应的读写操作&#xff08;或其他操作&#xff09;&#xff0c;最后在关闭该文件&#xff1b;open 函数用于打开文件&#xff0c;当然除了打开已经存在的文…

最新EmlogPro影视主题模版/简约暗黑纯净Mould主题模板/博客网站源码

源码简介&#xff1a; 最新EmlogPro影视主题模版&#xff0c;它是一个简约暗黑纯净Mould主题模板&#xff0c;也能做博客网站源码。 Mould这个主题模板啊&#xff0c;真的是设计得特别有感觉。它的布局和设计都超级流畅&#xff0c;用起来特别直观&#xff0c;简单多了。不管是…

c++206 友元类

#include<iostream> using namespace std; class A { public://声明的位置 和public private无关friend void modifyA(A* pA, int _a);//函数modifyA是A的好朋友A(int a, int b){this->a a;this->b b;}int getA(){return this->a;} private:int a;int b; };vo…