李小鱼学c 发表于 2020-5-17 15:05:10

S1E14中第一题求大神给看看

include <stdio.h>

#define a 23
#define b 14

int main()
{
      int i, j;

      printf("公斤 —— 花费\n");

      for(j = 1, i = a; j <= 20; j++, i = b * (j - 1) + a)
      {
                printf("%d —— %d\n",j, i);
      }

      return 0;
}

这是我自己码的跟小甲鱼老师不一样但也输出了正确的结果,但总感觉哪里不对劲大神给看看学习学习。
还有小甲鱼老师的这串代码中cost += NEXT_KG不理解可否解答下感激不尽。!
#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;
}

qiuyouzhi 发表于 2020-5-17 15:07:28

那个+=就是cost = cost + NEXT_KG

liuzhengyuan 发表于 2020-5-17 15:09:29

因为每公斤好像花费 14 元
所以每次重量加 1,cost 就会加 14

永恒的蓝色梦想 发表于 2020-5-17 15:11:08

i = b * (j - 1) + a
用乘法不如加法效率高

李小鱼学c 发表于 2020-5-17 15:49:15

qiuyouzhi 发表于 2020-5-17 15:07
那个+=就是cost = cost + NEXT_KG

你好,我看代码并没有表明NEXT_KG与weight之间的关系。系统是自己判断每加1公斤就加14元的吗

二哈的东天 发表于 2020-5-17 17:27:08


for (weight = 1, cost = FIRST_KG; weight <= 20; weight++, cost += NEXT_KG)
表达式3: weight++,cost += NEST_KG
前半句就是weight = weight + 1 也就是 重量每增加1kg后半句 就是价格增加14元

页: [1]
查看完整版本: S1E14中第一题求大神给看看