马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 妖娆乌龙茶 于 2023-7-31 22:54 编辑
0. 请写一个程序,帮小甲鱼计算 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;
}
两种运行结果是一样,但思路是不一样的,我是新手不太了解,为了培养自己的思维,想问下大家程序员会习惯哪种程序的写法?
作为程序员,通常会倾向于采用更加清晰和易于理解的代码写法。在你提供的两种程序写法中,明显第一种写法更加规范和易于理解。让我们来分析这两种写法的区别:
第一种写法:#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++, )
{
}
return 0;
}
在第一种写法中,循环的初始化部分和更新部分都被正确地赋予了合理的值。循环的初始化设置了weight为1,cost为23,而更新部分对weight和cost进行了合理的自增和累加操作。
然而,在第二种写法中,循环的初始化和更新部分都被省略了,这会导致编译错误,因为语法上缺少必要的表达式。
因此,大多数程序员会习惯采用第一种写法,因为它更明确地表达了循环的初值和更新规则。这样的写法更易于理解和维护,而且符合C语言的语法规范。在实际编程中,清晰和易于理解的代码对于自己和他人都是非常有价值的,特别是在团队合作开发或代码维护时。
|