C Primer Plus学习_21 for循环中的数组

对于数组的使用,书上给出了一个例子:在for循环中的数组

例子的背景是高尔夫球的得分问题,10个得分,要求得出总分,平均分,差点(平均分-标准分)

/*scores_in.c -- 10个得分,要求得出总分,平均分,差点(平均分-标准分)*/
#include <stdio.h>
#define PAR 72    //标准分
int main (void)
{
          int i, scores[10];
          float average;//平均分
          int sum = 0;//总分
         
          printf("请输入分别10个得分,空格键隔开:\n");
          for(i = 0; i < 10; i++)
          {
                   scanf("%d",&scores[i]);//读取10个数字
          }
          printf("这10个数分别为:\n");
          for(i = 0; i < 10; i++)
          {
                    printf("%5d",scores[i]);
          }
          printf("\n");
          for(i = 0; i < 10; i++)
          {
                   sum += scores[i];
          }
          average = sum / 10;
          printf("总分为:%d,平均分为:%.2f,差点为:%.2f", sum,average, average - PAR);
        
          return 0;
 }

请输入分别10个得分,空格键隔开:
99 95 109 105 100 96 98 93 99 97 98
这10个数分别为:
   99   95  109  105  100  96   98   93   99   97
总分为:991,平均分为:99.00,差点为:27.00

首先,仔细看输入的数据发现,我照着书上输入数据,输入了11个,而程序只读取了10个并且程序运行没有问题,因为循环中只能读取10个数据,因此,即使我输入100个数字,依然只读取10个(同时警示了我不能完全被书本带着走!)程序中还可以看到数字的读取方法,和之前介绍的很相似,只是改动了&后的变量为数组而已。

第二,定义数组是我直接用了10,来规定数组长度(有点偷懒了)。书上使用的是#define SIZE 10,在[ ]里放的是SIZE,这样的好处是如果遇到相同类型的问题,需要20个数来运行程序,只要在最上面把10改成20就行了,而我要一个一个改(当然我会用替换)

第三,程序能重复显示刚输入的数据。这有助于确保程序处理的数据和期望值相同。

最后,这里使用了三个for循环,其实完全可整合为一个for循环,合并后会使程序更紧凑。编写程序有一个模块化原则,其隐含的思想是将程序划分成一个个独立的单元,分别执行各自的任务,可以提高程序的可读性。更重要的是可以方便程序的更新和改写,在掌握函数后这一点会更加得以体现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值