C语言编程:杨辉三角形与判断闰年月份天数
需积分: 13 111 浏览量
更新于2024-09-12
1
收藏 117KB DOC 举报
“C语言题库,包含打印杨辉三角形及计算某年某月天数的编程题目。”
本文将详细解析两个C语言编程题目及其解决方案。
### 题目一:打印杨辉三角形(10行)
杨辉三角形是二项式系数的一种几何表示,每一行的两端都是1,中间的数字是上一行相邻两个数字之和。以下是程序的解析:
```c
#include "stdio.h"
main()
{
int i, j;
int a[10][10];
// 初始化第一行和最后一行为1
for (i = 0; i < 10; i++) { // 更正:将for(i=1;i<10;i++)改为for(i=0;i<10;i++)
a[i][0] = 1;
a[i][i] = 1;
}
// 计算中间的值
for (i = 1; i < 10; i++) { // 更正:将for(i=1;i<10;i--)改为for(i=1;i<10;i++)
for (j = 1; j < i; j++) {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
// 打印结果
for (i = 0; i < 10; i++) {
for (j = 0; j <= i; j++) {
printf("%5d", a[i][j]);
}
printf("\n");
}
getch();
}
```
在程序中,首先初始化第一行和最后一行的值为1,然后通过两层循环计算中间的值。最后,用两层循环打印出整个杨辉三角形。修正后的循环条件可以确保正确地初始化和填充数组。
### 题目二:计算某年某月的天数
这个程序用于判断输入的年份和月份,输出该月的天数,考虑到闰年的特殊性。
```c
#include<stdio.h>
void main()
{
int yy, mm, len;
printf("year, month=");
scanf("%d%d", &yy, &mm);
// 根据年份和月份判断天数
switch(yy) {
case 1: // 一月
case 3: // 三月
case 5: // 五月
case 7: // 七月
case 8: // 八月
case 10: // 十月
case 12: // 十二月
len = 31; // 这些月份都有31天
break; // 不需要更正
case 4: // 四月
case 6: // 六月
case 9: // 九月
case 11: // 十一月
len = 30; // 这些月份都有30天
break;
case 2: // 二月
if (yy % 4 == 0 && yy % 100 != 0 || yy % 400 == 0) // 判断是否为闰年
len = 29; // 闰年的二月有29天
else
len = 28; // 普通年份的二月有28天
break;
default: // 输入错误
printf("input error!\n");
break;
}
printf("The length of %d%d is %d\n", yy, mm, len);
}
```
此程序使用switch-case结构来根据年份判断月份的天数。对于二月,程序会检查年份是否为闰年:如果年份能被4整除但不能被100整除,或者能被400整除,则该年是闰年,二月有29天。
总结来说,这两个C语言题目分别涉及二维数组的操作和日期计算,是学习基本编程概念和逻辑控制的好例子。通过解决这些问题,我们可以深入理解数组、循环、条件语句以及对闰年规则的理解。
2024-03-05 上传
2023-08-21 上传
2023-10-18 上传
2023-11-30 上传
2023-07-30 上传
2024-01-30 上传