第一种代码:
#include<stdio.h>
void initshuzu(int arry[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("请输入第%d个学生的成绩:\n",i+1);
scanf("%d",&arry[i]);
}
printf("done\n");
}
void printshuzu(int arry[],int len)
{
int i;
printf("总人数%d个\n",len);
for(i=0;i<len;i++)
{
printf("%d",arry[i]);
}
printf("done\n");
}
float getAverage(int arry[], int len)
{
int i;
float aver=0.0;
int sum=0;
printf("总人数%d个\n",len);
for(i=0;i<len;i++)
{
sum=sum+arry[i];
}
aver = (float)sum/len;
return aver;
}
int main()
{
int classone[5];
int classtwo[10];
float averofclass1;
float averofclass2;
int lenofclass1=sizeof(classone)/sizeof(classone[0]);
int lenofclass2=sizeof(classtwo)/sizeof(classtwo[0]);
initshuzu(classone,lenofclass1);
initshuzu(classtwo,lenofclass2);
printshuzu(classone,lenofclass1);
printshuzu(classtwo,lenofclass2);
averofclass1=getAverage(classone,lenofclass1);
averofclass2=getAverage(classtwo,lenofclass2);
printf("一班的平均分:%f\n",averofclass1);
printf("二班的平均分:%f\n",averofclass2);
return 0;
}
结果:
注意事项:
1.initshuzu函数中printf括号中为i+1;
2.getaverage函数中注意类型强制转换;
3.数组一般有数组名和长度两个变量。
第二种代码:
#include<stdio.h>
void chengji(int arry[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("第%d个学生的成绩为:\n",i+1);
scanf("%d",&arry[i]);
}
printf("done\n");
}
void banjirenshu(int arry[],int len)
{
printf("班级人数为:%d\n",len);
}
float averclass(int arry[],int len)
{
int i;
int num=0;
float aver=0.0;
for(i=0;i<len;i++)
{
num = num + arry[i];
}
aver = (float)num/len;
printf("平均分为%f\n",aver);
return aver;
}
int main()
{
int class1[5];
int class2[10];
int len1 = sizeof(class1)/sizeof(class1[0]);
int len2 = sizeof(class2)/sizeof(class2[0]);
chengji(class1,len1);
chengji(class2,len2);
banjirenshu(class1,len1);
banjirenshu(class2,len2);
averclass(class1,len1);
averclass(class2,len2);
return 0;
}
结果:
注意事项(自己犯的错误):
1.定义函数时一定要带上类型(比如int,float等);