给你的程序加上逻辑

时间:2020-03-27
本文章向大家介绍给你的程序加上逻辑,主要包括给你的程序加上逻辑使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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;
} 

原文地址:https://www.cnblogs.com/liugangjiayou/p/12580802.html