站点图标 陌路寒暄

复杂类型作函数参数之一维数组作函数参数

复杂类型作函数参数之一维数组作函数参数

时间: 1ms        内存:128M

描述:

一维数组中存放了一个学生若干门课程的成绩,编程求平均成绩。

#include<stdio.h>
//begin

//end
{
    int i;
    float aver, sum = 0;                                 /* sum用来统计课程的总分 */
    for ( i = 0; i < n; i++)                          /* 用循环语句累加各门功课的成绩 */
        sum = sum + array[i];
    aver = sum / n;                                      /* aver用来存放平均值 */
    return aver;
}
//函数名称从下面代码中获得
int main( )
{
   
    float score1[5] ;              /* 数组中存放5门课的成绩 */
    float score2[10] ;            /* 数组中存放10门课的成绩 */
    /* 调用函数求学生的平均成绩并输出 */
    int i;
    for( i = 0 ; i < 5 ; i++)
        scanf("%f",&score1[i]);
    printf("average score1 is: %f\n", average(score1, 5));
    for( i = 0 ; i < 10 ; i++)
        scanf("%f",&score2[i]);
    printf("average score2 is: %f\n", average(score2, 10));
    return 0;
}

只提交begin和end之间的代码

输入:

第一行输入5个整数或者小数,第二行输入10个整数或者小数

输出:

输出

average score1 is: ……

average score2 is:……

示例输入:

1 3 5 7 9
1 4 7 2 5 8 3 6 9 0

示例输出:

average score1 is: 5.000000
average score2 is: 4.500000

提示:

参考答案(内存最优[1092]):


#include<stdio.h>
//begin
float average(float *array,  int n)
//end
{
    int i;
    float aver, sum = 0;                 		  	  /* sum用来统计课程的总分 */
    for ( i = 0; i < n; i++)                		  /* 用循环语句累加各门功课的成绩 */
        sum = sum + array[i];
    aver = sum / n;									  /* aver用来存放平均值 */
    return aver;
}
//函数名称从下面代码中获得
int main( )
{

    float score1[5] ;			  /* 数组中存放5门课的成绩 */
    float score2[10] ;            /* 数组中存放10门课的成绩 */
    /* 调用函数求学生的平均成绩并输出 */
    int i;
    for( i = 0 ; i < 5 ; i++)
        scanf("%f",&score1[i]);
    printf("average score1 is: %f\n", average(score1, 5));
    for( i = 0 ; i < 10 ; i++)
        scanf("%f",&score2[i]);
    printf("average score2 is: %f\n", average(score2, 10));
    return 0;
}

参考答案(时间最优[0]):


#include<stdio.h>
//begin
float average ( float array[ ], int n )
//end
{
    int i;
    float aver, sum = 0;                 		  	  /* sum用来统计课程的总分 */
    for ( i = 0; i < n; i++)                		  /* 用循环语句累加各门功课的成绩 */
        sum = sum + array[i];
    aver = sum / n;									  /* aver用来存放平均值 */
    return aver;
}
//函数名称从下面代码中获得
int main( )
{

    float score1[5] ;			  /* 数组中存放5门课的成绩 */
    float score2[10] ;            /* 数组中存放10门课的成绩 */
    /* 调用函数求学生的平均成绩并输出 */
    int i;
    for( i = 0 ; i < 5 ; i++)
        scanf("%f",&score1[i]);
    printf("average score1 is: %f\n", average(score1, 5));
    for( i = 0 ; i < 10 ; i++)
        scanf("%f",&score2[i]);
    printf("average score2 is: %f\n", average(score2, 10));
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

退出移动版