妖娆乌龙茶 发表于 2023-7-31 22:58:44

前一个帖子程序写错了重新问一遍 抱歉!

. 请写一个程序,帮小甲鱼计算 20 公斤内的运费。(顺丰起步价 23 元,每超一公斤加 14 元)
小甲鱼的答案是
#include <stdio.h>

#define FIRST_KG 23
#define NEXT_KG 14

int main()
{
      int weight, cost;

      printf("公斤 —— 花费(元):\n");
      for (weight = 1, cost = FIRST_KG; weight <= 20; weight++, cost += NEXT_KG)
      {
                printf("%3d——%3d\n", weight, cost);
      }

      return 0;
}

我思考的答案是
#include <stdio.h>

#define FIRST_KG 23
#define NEXT_KG 14

int main()
{
      int weight, cost;

      printf("公斤 —— 花费(元):\n");
      for (weight = 1, ; weight <= 20; weight++, )
       { cost = FIRST_KG + NEXT_KG* (weight-1);
         printf("%3d——%3d\n", weight, cost);
       }
return 0;
}
      
复制代码
两种运行结果是一样,但思路是不一样的,我是新手不太了解,为了培养自己的思维,想问下大家程序员会习惯哪种程序的写法?

isdkz 发表于 2023-7-31 22:59:03

作为一个新手,你很好地意识到了不同的写法可能会导致相同的结果,但思路却不同。在编程中,有多种方式来解决问题,而选择哪种方式往往取决于问题的性质、个人偏好和项目要求。

来看一下你提供的两种程序写法:

第一个程序使用了一个循环来逐步计算每个重量对应的运费,通过迭代更新cost的值,很直观地展示了每个重量对应的花费。

第二个程序中,你使用了数学公式来计算cost,避免了使用循环,而是直接根据重量的公式计算出对应的运费。这种写法避免了循环的开销,更加简洁。

对于这个具体问题,两种写法的结果是一样的,因此它们都是可行的。

作为一个习惯问题,程序员可能会倾向于更直观和易于理解的写法。在这种情况下,第一个程序可能更受欢迎,因为它使用了一个循环,循序渐进地计算每个重量对应的花费,易于理解和调试。

但是,第二个程序也很有优势,因为它避免了循环,更加简洁。在处理较为简单的问题时,这种数学公式的写法可以提高效率和代码的可读性。

综上所述,习惯的选择取决于个人和团队的偏好,以及在特定情况下的编程需求。对于初学者,建议注重代码的可读性和理解,逐渐习惯循序渐进地解决问题。随着经验的积累,你会逐渐发展出自己的编程风格和偏好。

Mike_python小 发表于 2023-7-31 22:59:11

对于这个问题,大多数程序员会更倾向于使用第一个代码示例中的写法。

原因如下:
1. 可读性更好:第一个代码示例中,每个循环中都明确地设置了变量的初始值和增量操作,使得代码更加清晰易读。通过这种方式,代码的逻辑更容易理解和追踪。
2. 符合编程规范:通常情况下,编程规范会建议在循环体中提供明确的变量赋值语句,以增加代码的可读性和可维护性。这样做能够传达出程序员的意图,使其他人更容易理解代码的逻辑。
3. 一致性:使用第一个代码示例中的写法,在循环中处理变量赋值和增量操作,与大多数编程语言的惯例相符。这种一致性可以减少代码错误和混淆的可能性。

然而,第二个代码示例也是有效的,并且结果与第一个代码示例相同。虽然第二个代码示例中省略了循环体内的变量赋值和增量操作,但由于循环条件表达式和循环体之间有明显的逻辑关系,仍然可以理解代码的含义。

无论选择哪种写法,重要的是保持一致性、可读性,并遵循所用编程语言的最佳实践和编码规范。

希望这个回答对你有所帮助!如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: 前一个帖子程序写错了重新问一遍 抱歉!