zoukankan      html  css  js  c++  java
  • 数组指针的一个小例子

    1、功能:输入6个学生的5门课程成绩,计算出每个学生的平均分和每门课程的平均分。

    2、C语言实现代码:(其实就是用二维数组来实现的,二维数组的引用传递使用数组指针来完成)

    #include <stdio.h>
    #define STUDENT 5
    #define SCORE 6
    void input_array(float (*score)[STUDENT]);
    void avg_score(float (*score)[STUDENT]);
    void avg_course(float (*score)[STUDENT]);

    /**
     * calculate student average score and course average socore.
     */
    int main(){
        float a[SCORE][STUDENT];
        input_array(a);

        avg_course(a);
        avg_score(a);

    }

    void input_array(float (*score)[STUDENT]){
        int i, j;
        for(i=0; i<SCORE; i++){
            printf("input the %d student score:", i+1);
            for(j=0; j<STUDENT; j++){
                scanf("%f", score[i] + j);
            }
        }
    }

    void avg_course(float (*score)[STUDENT]){
        int i,j;
        float s;

        for(j=0; j<STUDENT; j++){
            printf("course%d  ", j);
        }

        printf(" ");

        for(i=0; i<SCORE; i++){
            s=0;
            for(j=0; j<STUDENT; j++){
                printf("%f  ", *(score[i] + j));
                s += *(score[i] + j);
            }
            printf(" s=%f, avg=%f " , s,s/STUDENT);

        }
    }

    void avg_score(float (*score)[STUDENT]){
        int i,j;
        float s;
        for(i=0; i<STUDENT; i++){
            s = 0;
            for(j=0; j<SCORE;j++){
                s+= *(score[j]+i);
            }
            printf("%f  " , s/SCORE);
        }
    }

  • 相关阅读:
    P1351 联合权值
    c++ 贪心讲解大礼包
    取石子 找规律
    树 dfs暴力判环 题意转化
    P2519 [HAOI2011]problem a
    P1640 [SCOI2010]连续攻击游戏 二分图最大匹配 匈牙利算法
    P2756 飞行员配对方案问题 二分图匹配 匈牙利算法
    cogs 49. 跳马问题 DFS dp
    cogs 2. 旅行计划 dijkstra+打印路径小技巧
    cogs 1440. [NOIP2013]积木大赛 贪心水题
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/3164681.html
Copyright © 2011-2022 走看看