给你的程序加上逻辑
for (int i = 1, k = 0; i <= 48; i++, k += 2) printf("%d\n", k);
上面这段程序中,我们用到了两个同步信息变量,i 和 k,i 从 1 到 48,保证循环了 48 次;代码中“k+=2”表示 k 每次增加 2 ,也就是说,在这个过程中,i 遍历了 1 到 48 这 48 个整型值,而 k 同步地遍历了从 0 开始的前 48 个偶数。这段代码的意思其实就是打印出从 0 开始后的共 48 个偶数,即 0、2、4……92、94。
如果用 while 来实现这个目的,怎么写?
int i=1,k=0;
while(i<=48)
{
printf("%d\n",k);
k+=2;
i++;
}
思考题:打印乘法表
使用循环和条件判断,打印一个格式优美的 66 乘法表
要求 1:输出内容及样式参照下面给出的样例
要求 2:每两列之间用 \t 字符进行分隔,行尾无多余 \t 字符
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
for(i=1;i<=6;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",j,i,i*j);
}
printf("\n");
}
闰年的判定条件
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ...
“日期计算器”程序完成
准备完了所有的基础技能后,就让我们来完成开始说的那个任务吧,我们来思考一下哈,首先我们需要有一个循环,循环每一次,让计算机帮我们计算一次下一天的日期。每次在计算下一天日期的过程中,先让日子加 1,判断是否跨月,如果跨过了一个月份,就让日子从 1 开始,让月份加 1,再判断是否跨年,如果跨年了,就让月份从 1 开始,年份加 1。
如上的过程中,有一个关键问题需要你注意,就是 2 月份的月份天数的计算方法,咱们来简单回顾一下闰年的规则,年份满足以下其中一条即为闰年:
能被 4 整除,但不能被 100 整除;
能被 400 整除。
#include <stdio.h>
int main() {
int y, m, d, X,i; // 定义存储 年月日 和 X 的变量
scanf("%d%d%d", &y, &m, &d); // 读入年月日
scanf("%d", &X); // 读入 X 值
for (i = 0; i < X; i++) { // 循环 X 次,每次向后推一天
d += 1;
switch (m) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: { // 第一部分逻辑
if (d > 31) d = 1, m += 1;
if (m == 13) m = 1, y += 1;
}; break;
case 4:
case 6:
case 9:
case 11: { // 第二部分逻辑
if (d > 30) d = 1, m += 1;
} break;
case 2: { // 第三部分逻辑
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
if (d > 29) d = 1, m += 1;
} else if (d > 28) {
d = 1, m += 1;
}
} break;
}
}
printf("%d %d %d\n", y, m, d);
return 0;
}