学习笔记1:用数组元素作函数实参
编程:判别一个整数数组a[10]={1,2,3,4,-1,-2,-3,-4,2,3}中各元素的值,若大于0则输出该值,若小于等于0则输出0
#include <stdio.h>
void test(int v);
void main()
{
int a[10] = { 1,2,3,4,-1,-2,-3,-4,2,3 };
int i;
for (i = 0; i < 10; i++)
{
test(a[i]);
}
printf("\n");
}
void test(int v)
{
if (v > 0)
{
printf("%d", v);
}
else
{
printf("%d", 0);
}
}
运行结果:
学习笔记2:用数组名作函数参数
编程:
#include <stdio.h>
void test(int b[10]);
void main()
{
int a[10] = { 2,4,6,8,10,12,14,14,18,20 };
test(a); // 把a的地址传回去给上面的test(int b[10]),让b也指向a的地址
putchar('\n');
}
void test(int b[10])
{
int i = 0;
for (; i < 10; i++)
{
printf("%d ", b[i]);
}
}
运行结果:
题目:
一个一维数组score,内放10个学生成绩,求平均成绩(写一个average函数求平均成绩)
答案:
#include <stdio.h>
double average(double array[10]);
void main()
{
double score[10] = { 82,100,87.5,89,78,85,67.5,92.5,93,94 }, result;
result = average(score);
printf("average score is %5.2lf\n", result);
putchar('\n');
}
double average(double array[10])
{
double result = 0;
int i = 0;
for (i = 0; i < 10; i++)
{
result += array[i]; //等同于result = result + array[i]
}
result /= 10; //等同于result = result/10
return result;
}
运行结果:
学习笔记3:全局变量
题目:一个一位数组,内放10个学生成绩,写一个函数,求出平均分、最高分、最低分
答案:
#include <stdio.h>
float Max = 0, Min = 0;
void main()
{
float average(float array[], int n);
float ave, score[10];
int i;
for (i = 0; i < 10; i++)
{
scanf("%f", &score[i]);
}
ave = average(score, 10);
printf("Max=%6.2f\nMin=%6.2f\naverage=%6.2f\n", Max, Min, ave);
}
float average(float array[], int n) //定义函数,形参维数组
{
int i;
float aver, sum = array[0];
Max = Min = array[0];
for (i = 1; i < n; i++)
{
if (array[i] > Max)
Max = array[i];
else if (array[i] < Min)
Min = array[i];
sum += array[i];
}
aver = sum / n;
return aver;
}
运行结果: