总结几个C语言小程序

一、打印正方形

        该程序通过用户输入一个正方形的边长 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 函数进行计算,并输出结果。


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

        今天的分享就到这里啦 ~

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祐言QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值