一、打印正方形
该程序通过用户输入一个正方形的边长 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 函数进行计算,并输出结果。
通过该程序,可以方便地计算某个日期是该年的第几天。该程序对于了解和使用日期相关的计算具有一定的实用性。
今天的分享就到这里啦 ~