一、数组元素作函数实参
①判别一个整数数组a[10]={1,2,3,4,-1,-2,-3,-4,2,3},中各元素的值,若大于0,则输出该值,若小于等于0则输出0值。
#include<stdio.h>
int main()
{
int a[10]={1,2,3,4,-1,-2,-3,-4,2,3};
int i;
void test(int v);
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);
}
}
②有一个一维数组Score,内放10个学生成绩,求平均成绩(写一个average函数求平均成绩)。
#include<stdio.h>
int main()
{
double c;
double average(double array[10]);
double score[10]={70.88,88.88,88.88,98.87,78.88,88.88,88.88,58.88,88.88,88.88};
c=average(score);
printf("average score is %5.2lf\n",c);
}
double average(double array[10])
{
int i;
double aver;
double sum=0;
for(i=0;i<10;i++)
{
sum+=array[i];
}
aver=sum/10;
return aver;
}
二、全局变量
①输入正方体的长宽高l,w,h。求体积及三个面xy,xz;y*z的面积。
#include<stdio.h>
int s1,s2,s3;
int vs(int a,int b,int c)
{
int v;
v=a*b*c;
s1=a*b;
s2=b*c;
s3=a*c;
return v;
}
int main()
{
int l,h,w,v;
printf("input length,width and height:\n");
scanf("%d %d %d",&l,&w,&h);
v=vs(l,w,h);
printf("nv=%d,s1=%d,s2=%d,s3=%d\n",v,s1,s2,s3);
}
②有一个一维数组,内放10个学生成绩,写一个函数,求出平均分、最高分和最低分。
#include<stdio.h>
float Max = 0,Min = 0;
int 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("average= %6.2f\nmax= %6.2f\nmin= %6.2f\n",ave,Max,Min);
}
float average(float array[],int n)
{
int i;
float aver,sum=array[0];
Max=Min=array[0];
for(i=1;i<n;i++)
{
if(Max<array[i])
{
Max=array[i];
}
else if(Min>array[i])
{
Min=array[i];
}
sum += array[i];
}
aver=sum/n;
return aver;
}