总结几个C语言小程序

2023-11-18

一、打印正方形

        该程序通过用户输入一个正方形的边长 L,然后利用嵌套的 for 循环来打印出具有边框的正方形图案。

 

        程序如下:

#include <stdio.h>

int main() {
    int L;
    
    printf("请输入正方形的边长:");
    scanf("%d", &L);
    
    for (int i = 0; i < L; i++) {
        for (int j = 0; j < L; j++) {
            if (i == 0 || i == L - 1 || j == 0 || j == L - 1) {
                printf("* ");
            } else {
                printf("  ");
            }
        }
        printf("\n");
    }
    
    return 0;
}

        (1) 首先,程序提示用户输入一个正方形的边长,用户需要输入一个整数值;
        (2)接下来,程序使用嵌套的 for 循环来遍历正方形的每个位置;
        (3)外层的 for 循环控制行数,内层的 for 循环控制列数;
        (4)在每个位置,程序使用条件语句判断当前位置是否在正方形的边框上;
        (5)如果是边框上的位置(第一行、最后一行、第一列、最后一列),则打印字符 "*",表示边框;
        (6)如果不是边框上的位置,则打印两个空格,表示内部区域;
        (7) 完成一行的打印后,程序会输出一个换行符,以换行到下一行的打印;
        (8)最后所有行的打印完成后,程序结束执行。


        通过该程序,可以根据用户输入的边长来打印出具有边框的正方形图案,边框由 "*" 字符组成,内部区域为空格。这个程序可以用于简单的图形输出和边框绘制。

二、打印爱心

        该程序实现了打印一个爱心图案,并且可以通过调整缩放比例来改变图案的大小。

         程序如下:

#include <stdio.h>

int main() {
    int scale = 2; // 控制爱心的缩放比例,可以根据需要调整

    char heart[9][25] = {
        "  ***     ***  ",
        " *****   ***** ",
        "******* *******",
        " ************* ",
        "  ***********  ",
        "    *******    ",
		"     *****     ",
        "      ***      ",
		"       *       "
    };

    for (int i = 0; i < 9; i++) {
        for (int j = 0; j < scale; j++) {
            for (int k = 0; k < 25; k++) {
                for (int l = 0; l < scale; l++) {
                    printf("%c", heart[i][k]);
                }
            }
            printf("\n");
        }
    }

    return 0;
}

        下面是对程序的功能和实现方式的总结:

 1.功能:

(1)程序可以打印一个爱心图案,图案由字符组成;
(2)可以通过调整缩放比例来改变图案的大小。


2.实现方式:

(1)程序使用一个二维字符数组 heart 来存储爱心图案的每一行字符;
(2)缩放比例通过变量 scale 控制,默认为 2;
(3)程序使用嵌套的循环来逐行打印爱心图案;
(4)外层循环控制图案的行数,共有 9 行;
(5)第二层循环控制缩放比例,根据 scale 的值重复打印每个字符;
(6)第三层循环遍历图案的每个字符,共有 25 列;
(7)第四层循环控制缩放比例,重复打印当前字符;
(8) 在打印完一行的字符后,使用 printf("\n") 打印换行符,进行换行操作;
(9) 程序执行完所有行的打印后,结束执行。


        通过该程序,可以打印出一个爱心图案,图案的大小可以通过调整缩放比例来控制。这个程序可以用于简单的图案输出和图形艺术展示。

三、计算某日是该年的第几天

        该程序实现了一个功能,即根据输入的年月日,计算该日期是该年的第几天 ,效果如下:

        

         程序代码:

#include <stdio.h>
 
// 判断是否为闰年
int pd(int y) {
    if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
        return 1;
    else
        return 0;
}
 
// 计算某个日期是该年的第几天
int pdnf(int year, int month, int day) {
    int sum = 0;
    int i;
    int daysInMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int daysInLeapMonth[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
    // 根据是否是闰年选择相应的天数数组
    int *days = pd(year) ? daysInLeapMonth : daysInMonth;
    
    // 累加计算给定日期的天数
    for (i = 0; i < month - 1; i++)
        sum += days[i];
    
    sum += day;
    return sum;	
} 
 
int main(void) {
    int year, month, day, dayOfYear;
    
    printf("请输入年月日:\n");
    scanf("%d %d %d", &year, &month, &day);
    
    dayOfYear = pdnf(year, month, day);
    printf("今天是%d年的第%d天\n", year, dayOfYear);
    
    return 0;
}

        下面是对程序的功能和实现方式的总结:

1.功能:

        程序可以根据输入的年月日计算该日期是该年的第几天。


2.实现方式:

(1)程序定义了两个函数 pd 和 pdnf,分别用于判断闰年和计算某个日期是该年的第几天;
(2)pd 函数用于判断某年是否为闰年。根据闰年的定义,能够整除4但不能整除100,或者能够整除400的年份都是闰年。如果是闰年,返回1,否则返回0;
(3)pdnf 函数用于计算某个日期是该年的第几天。根据是否是闰年,以及每个月的天数,通过累加计算出给定日期的天数;
(4)main 函数负责接收用户输入的年月日,并调用 pdnf 函数进行计算,并输出结果。


        通过该程序,可以方便地计算某个日期是该年的第几天。该程序对于了解和使用日期相关的计算具有一定的实用性。

        今天的分享就到这里啦 ~

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

总结几个C语言小程序 的相关文章

  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 基于java的物流信息网系统设计与实现

    基于java的物流信息网系统设计与实现 I 引言 A 研究背景和动机 基于Java的物流信息网系统设计与实现的研究背景和动机 随着互联网的普及和电子商务的快速发展 物流信息网系统已成为现代物流管理的重要组成部分 物流信息网系统能够实现物流信
  • 【计算机毕业设计】趵突泉景区的智慧导游小程序_5ztvv

    当今社会已经步入了科学技术进步和经济社会快速发展的新时期 国际信息和学术交流也不断加强 计算机技术对经济社会发展和人民生活改善的影响也日益突出 人类的生存和思考方式也产生了变化 传统趵突泉景区的智慧导游采取了人工的管理方法 但这种管理方法存
  • 【计算机毕业设计】宝鸡文理学院学生成绩动态追踪系统

    研究开发宝鸡文理学院学生成绩动态追踪系统的目的是让使用者可以更方便的将人 设备和场景更立体的连接在一起 能让用户以更科幻的方式使用产品 体验高科技时代带给人们的方便 同时也能让用户体会到与以往常规产品不同的体验风格 与安卓 iOS相比较起来
  • 华为OD机试 Java 【计算文件大小】

    题目 一个电脑文件夹系统 每个文件夹里都有一些文件和可能还有其他子文件夹 给定所有文件夹的大小和子文件夹列表 你的任务是找出某一个文件夹及其所有子文件夹里的文件总大小 输入格式 首行有两个数字 文件夹的总数M和你要查询的文件夹ID N 之后
  • 微信小程序|SSM微信小程序的学生选课系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 计算机Java项目|基于SSM的微课学习系统

    作者主页 编程指南针 作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智
  • JCMsuite应用:光学环形谐振腔模拟

    本案程演示了环形谐振腔的模拟 这种类型的集成光子器件 例如用作升 降滤波器或在传感应用中 当物质或粒子附着在环上时 通过测量其共振频率的位移来检测 对于集成光子电路中的无源光器件 s矩阵通常是研究的热点 它描述了通过端口 波导进入设备的电磁
  • 【固定翼飞行器】用于计算固定翼飞机空气动力学的紧凑涡旋格方法研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 详解toLowerCase(判断字符串相等)

    一 toLowerCase 函数简介 toLowerCase 是一个在多个编程语言中都存在的字符串方法 它的作用是将字符串中的所有大写字母转换为对应的小写字母 常用于文本处理 搜索和比较等情况 以确保字符串的一致性和非大小写敏感的操作 二
  • 【go语言】读取toml文件

    一 简介 TOML 全称为Tom s Obvious Minimal Language 是一种易读的配置文件格式 旨在成为一个极简的数据序列化语言 TOML的设计原则之一是保持简洁性 易读性 同时提供足够的灵活性以满足各种应用场景 TOML
  • 【一种新的Burton-Miller型奇异边界方法(BM-SBM)】用于声学设计灵敏度分析,2D和3D声学设计灵敏度分析的奇异边界方法研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 2D 2 2 3D
  • 基于节点电价的电网对电动汽车接纳能力评估模型研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 2024年华为OD机试真题-靠谱的车-Python-OD统一考试(C卷)

    题目描述 程序员小明打了一辆出租车去上班 出于职业敏感 他注意到这辆出租车的计费表有点问题 总是偏大 出租车司机解释说他不喜欢数字4 所以改装了计费表 任何数字位置遇到数字4就直接跳过 其余功能都正常 比如 1 23再多一块钱就变为25 2
  • 计算机Java项目|有机蔬菜商城

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • sychnorized积累

    sychnorized 1 对象锁 包括方法锁 默认锁对象为this 当前实例对象 和同步代码块锁 自己指定锁对象 2 类锁 指synchronize修饰静态的方法或指定锁对象为Class对象 3 加锁和释放锁的原理 现象 时机 内置锁th
  • 软件测试/测试开发|给你剖析闭包与装饰器的魔力

    测试管理班是专门面向测试与质量管理人员的一门课程 通过提升从业人员的团队管理 项目管理 绩效管理 沟通管理等方面的能力 使测试管理人员可以更好的带领团队 项目以及公司获得更快的成长 提供 1v1 私教指导 BAT 级别的测试管理大咖量身打造
  • Java进阶之旅第七天

    Java进阶之旅第七天 文章目录 Java进阶之旅第七天 方法引用 介绍 代码展示 结果 方法引用的分类
  • 计算机Java项目|java游戏账号交易系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板

随机推荐

  • 打印1-100中3的倍数 (C语言)

    代码 include
  • MySQL安装时出现无法正常启动的问题

    我刚在官网下载了MySQL8 0 18的最新压缩包版本 跟着网络上的安装教程走 发现在cmd窗口用net start mysql命令无法正常启动 在查看my ini文件和环境变量配置没有问题之后 重新以管理员身份打开cmd窗口 仍然失败 百
  • LeetCode 2011. 执行操作后的变量值

    存在一种仅支持 4 种操作和 1 个变量 X 的编程语言 X 和 X 使变量 X 的值 加 1 X 和 X 使变量 X 的值 减 1 最初 X 的值是 0 给你一个字符串数组 operations 这是由操作组成的一个列表 返回执行所有操作
  • python--socket(套接字/插口)

    socket是什么 是进程间通信的一种方式 它与其他进程间通信的一个主要不同是 它能实现不同主机之间的进程通信 我们网络上各种各样的服务大多都是基于socket来完成通信的 例如我们浏览网页 qq聊天 收发emil Socket是应用层与T
  • 民营经济挑战未来发展

    上周末 一场 中国民营经济六十年研讨会 在北京聚集了改革领域的多位高官和专家 曲折和成就 经验和教训 理论问题和现实问题 都在会议上碰撞 此次会议由中央社会主义学院 中国经济体制改革研究会 中国民 私 营经济研究会 北京开达经济学家咨询中心
  • 创建git项目并提交

    1 创建仓库 2 点击创建 3复制gitee码云的HttpS连接 4 提交上传 打开项目并点击菜单栏上的 CVS Import into version control Create Git Repository 创建本地仓库 在打开的 C
  • 小米笔记本Pro安装Win+Mac双系统,时间同步不一致问题!

    安装win和Mac 双系统 时间同步不一样的问题 可以通过补丁解决 Win注册表CMD注入或Mac下安装注入 二选一打补丁 1 Win下操作以管理员运行CMD命令行Reg add HKLM SYSTEM CurrentControlSet
  • 基于时空网络的出租车OD需求预测-简介

    最近单曲循环的一首歌 分享给大家 1 文章信息 Contextualized Spatial Temporal Network for Taxi rigin Destination Demand Prediction 2019发在IEEE
  • RecyclerView应用复习

    导包 implementation androidx recyclerview recyclerview 1 1 0 recyclerview implementation com zhy base rvadapter 3 0 3 adap
  • AttributeError: module ‘torch.cuda.amp‘ has no attribute ‘autocast‘

    参考 https zhuanlan zhihu com p 165152789 https zhuanlan zhihu com p 176998729 https pytorch org docs stable amp html http
  • 渠道系统和 OA系统待办事项接口

    OA待办 已办 以及通过ltpatoken查找用户拼音接口 接口采用http get方式 将需要的参数传入 Content Type application json charset UTF 8 getMethod addRequestHe
  • 错误: 无法从静态上下文中引用非静态 变量 this

    JAVA菜鸟笔记 错误 无法从静态上下文中引用非静态 变量 this 1 09 17 Hello java 错误 无法从静态上下文中引用非静态 变量 this 错误原因 main方法是一个静态方法 而静态方法中无法引用非静态变量 因为静态方
  • STC单片机 延时 那点事,DS18B20的苦

    DS18B20采用 一线总线 对时序的要求是特高啊 要想精准延时 有两个选择 其一当属定时器 其二用汇编一条一条的来算 但 DS18B20延时的时候 以上两条都不会选 还有其他选择 第三方的Delay函数 比如STC ISP VXX X提供
  • 惊艳的时间轮定时器

    问题引入 游戏里面每个Player身上有很多buffs 在每一个tick 最小时间段 都要去检查buff里面的每一个buff是不是过期 产生的效果如何 造成在每个tick里面都去遍历一个长list 明显很不好 怎么优化 1 原始模型 buf
  • c++智能指针

    C 智能指针详解 C 有四个智能指针 auto ptr unique ptr shared ptr weak ptr 其中后三个是C 11支持 第一个已经被C 11弃用 智能指针介绍 智能指针主要用于管理在堆上分配的内存 它将普通的指针封装
  • IP子网划分

    一 子网划分基础 需要掌握二进制与十进制之间的熟练转化 第一篇已经详细介绍过 二 IP地址组成及其分类 目前的IP地址是 IPv4 地址 1 IP地址有两部分组成 网络号码字段 net id 用于区分不同网络 主机号码字段 host id
  • HarmonyOS基础答疑

    本帖收录 HarmonyOS开发者交流群 常见的问题答疑 另外有相关问题可以补充到本帖 Q1 如何获取DevEco Studio 2 0 版本计划 获取方式 答 现在起 可在HarmonyOS官网上 下载HarmonyOS应用开发IDE D
  • 如何让PowerShell显示中文不乱码

    如今软件日益国际化的今天 Windows下的命令行却还顽固地使用本地编码来显示数据 这导致用UTF 8编码的文件在命令行显示乱码 虽说Cygwin的内核cygwin1 dll有自动转换功能 可是因为GB2312中没有变音符号等特殊字符 某些
  • CGI的基本定义和优劣势是什么

    通用网关接口 CGI 是网络服务器之间的交集 通过它可以在外部应用程序和服务器之间进行标准化数据交换 它属于现存最古老的在线界面技术 至今仍被一些知名虚拟主机提供商使用 使用CGI 时 HTML页面不需要存储在服务器上 而是可以在用户进行网
  • 总结几个C语言小程序

    一 打印正方形 该程序通过用户输入一个正方形的边长 L 然后利用嵌套的 for 循环来打印出具有边框的正方形图案 程序如下 include