一、數組元素作函數實參
①判別一個整數數組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;
}