小羊爱吃小草 发表于 2023-11-6 17:41:09

锯齿型

#include <stdio.h>
int main()
{
        int year, leap;
        printf("input year\n");
        scanf("%d", &year);
        if(year % 4 == 0)
                if(year % 100 == 0)
                        if(year % 400 == 0)
                                leap = 1;
                        else
                                leap = 0;
                else
                                leap = 1;
        else
                                leap = 0;
        if(leap)
                printf("%d is leap year\n");
        else
                ;
        return 0;
}
能否将这段代码换一种格式写,这种是锯齿形,有别的格式吗

isdkz 发表于 2023-11-6 17:41:40

可以将这段代码改写成更简洁的格式,使用三元运算符来替代嵌套的if语句。以下是改写后的代码:

#include <stdio.h>

int main()
{
    int year, leap;
    printf("请输入年份:\n");
    scanf("%d", &year);

    leap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);

    if (leap)
      printf("%d是闰年\n", year);
    else
      printf("%d不是闰年\n", year);

    return 0;
}


这种改写方式使用了逻辑运算符和三元运算符来简化代码结构,使得代码更加清晰易读。逻辑运算符 && 表示逻辑与, || 表示逻辑或。三元运算符 condition ? expression1 : expression2 表示如果条件 condition 为真,则返回 expression1 ,否则返回 expression2 。通过使用三元运算符,我们可以在一行代码中判断年份是否为闰年,并将结果赋值给 leap 变量。然后根据 leap 的值输出相应的结果。

Mike_python小 发表于 2023-11-6 17:43:03

好的,以下是修改版代码和排版整齐的回答。

修改版代码:


#include <stdio.h>

int main() {
    int year, leap;
    printf("请输入年份:\n");
    scanf("%d", &year);
    if (year % 4 == 0) {
      if (year % 100 == 0) {
            if (year % 400 == 0) {
                leap = 1;
            } else {
                leap = 0;
            }
      } else {
            leap = 1;
      }
    } else {
      leap = 0;
    }

    if (leap) {
      printf("%d 年是闰年\n", year);
    } else {
      printf("%d 年不是闰年\n", year);
    }

    return 0;
}


回答部分:

对于这种锯齿形的代码,主要的问题在于缩进不规范。为了让代码更加易读,我们可以采用以下的格式来书写代码:

1. 在每个语句的末尾都加上分号;
2. 每个 { 后面的语句要新起一行,并且缩进;
3. 每个 } 前面的语句要新起一行,并且缩进。

通过这种格式,可以让代码更加清晰易读,也方便后续的维护和修改。

除了上述格式外,还有很多其他的代码风格,例如 Google C++ 编码风格、Linux 内核编码风格等。这些编码风格都有一套比较完整的规范,旨在提高代码的可读性和可维护性,可以根据自己的需求和习惯选择合适的编码风格。

希望我的回答能够对您有所帮助。如果您还有其他问题,欢迎随时提出。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: 锯齿型