kjdskaf 发表于 2022-3-19 20:38:25

求解答

设一维数组中保存10个同学的成绩,请分别用以下不同的访问方式实现程序功能:统计及格率与平均分。
(1)下标法
(2)指针法
(3)指针变量指向数组元素法

ba21 发表于 2022-3-19 20:54:27

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        int score = {100, 89, 44, 98, 66, 90, 86, 88, 60, 68};
        int i;
        int *p;

        // 下标标
        for(i=0; i<10; i++)
        {
                printf("%d ", score);
        }
        printf("\n");

        // 指针法
        p = score;
        for(i=0; i<10; i++)
        {
                printf("%d ", *(p++));
        }
        printf("\n");

        // 指针变量指向数组元素法
        p = &score;
        for(i=0; i<10; i++)
        {
                printf("%d ", *(p++));
        }
        printf("\n");
}

kjdskaf 发表于 2022-3-20 21:51:49

ba21 发表于 2022-3-19 20:54


没完整,是统计及格率和平均分

ba21 发表于 2022-3-20 22:09:00

kjdskaf 发表于 2022-3-20 21:51
没完整,是统计及格率和平均分

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
      int score = {100, 89, 44, 98, 66, 90, 86, 88, 60, 68};
      int i, j, sum;
      int *p;

                j = 0;
                sum = 0;
      // 下标标
      for(i=0; i<10; i++)
      {
                                printf("%d ", score);
                                if(score>=60)
                                {
                                        j += 1;
                                }
                                sum += score;
      }
      printf("\n");

      // 指针法
      p = score;
      for(i=0; i<10; i++)
      {
                printf("%d ", *(p++));
      }
      printf("\n");

      // 指针变量指向数组元素法
      p = &score;
      for(i=0; i<10; i++)
      {
                printf("%d ", *(p++));
      }
      printf("\n");


                printf("及格率:%d%% \n", (int)(j*10/10.0*10));
                printf("平均分:%.2f \n", sum/10.0);
}
页: [1]
查看完整版本: 求解答