void fun(int p1,int n)
{
int temp,j,k;
for(j=0;j<n-1;j++)
for(k=j+1;k<n;k++)
if((p1+j)>(p1+k))
{
temp=(p1+k);
(p1+k)=(p1+j);
(p1+j)=temp;
}
}
#include"stdioh"
#define N 10
int findmax(floata,int n)
{
int temp = 0;
for (int i=1;i<n;i++)
{
if (a[temp]<a[i])
{
temp =i;
}
}
return temp;
}
int findmin(floata,int n)
{
int temp = 0;
for (int i=1;i<n;i++)
{
if (a[temp]>a[i])
{
temp =i;
}
}
return temp;
}
void fun() //去掉最高分和最低分的函数
{
int i,k,f;
float a[N],sum = 0,avg = 0 ;
printf("请输入10个分数\n");
for(i=0;i<N;i++)
{
scanf("%f",&a[i]);
}
k = findmax(a,N);
f = findmin(a,N);
printf("去除最大值%f\n",a[k]);
printf("去除最小值%f\n",a[f]);
for(i=0;i<N;i++)
{
sum+=a[i];
}
sum-=(a[k]+a[f]);
avg = sum/(N-2);
printf("平均得分:%f\n",avg);
};
int main()
{
fun(); //调用的函数
return 0;
}
这里f1和f2是有初值的,就是当n==0,n==1时,f1=f2=1。 if(n==0||n==1) s=1;这个就相当于初始化了。然后就简单了,当n==2时,s=f1+f2=1+1=2;当n==3时s=2+1=3;当n==4时s=3+2=5;当n==5时s=5+3=8;当n==6时s=8+5=13 结果就是13 这个是递归算法。望采纳!
就是个自定义标识符,通常用作自定义函数的函数名,是函数function这个词的开头字母。
通常举例子的时候,不知道该叫什么名了,就取名fun或func或function。
前几年我回答过这种问题,结果题主采纳的是一帮胡扯答案的。这次我就看看还有没有睁眼说瞎话胡扯的。
函数的返回值与函数体里面定义的变量类型没有关系,而与你函数名称前面的类型有关,比如
void fun(){ } 这个函数的返回值类型为void,所以不需要return;
int fun(){ } 这个函数的返回值类型为int,所以需要return,并且return的时候需要返回一个整形。依次推理 可以得出
函数返回类型 函数名(形参) { 函数体 }
要不要return 由函数返回类型决定,如果为void就没有,为什么类型,则return返回什么类型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)