大敵!進擊の函數!

小时候,函数是数学的大招,我在这头,不停抠脚。

长大后,函数是IT的路标,我还在这头,能不能不逗?


哥要把它迈过去。


--------------------------------------------------------------这是一根简单的小情割-----------------------------------------------------------


总结:

1.函数包含3个步骤,分别是函数的声明和实现,以及调用。

2.函数的声明和实现在一个地方完成,我们统称为函数的定义。

3.函数的声明包括函数名称,参数列表,以及返回类型。

4.参数列表中有形参的类型,顺序,以及个数。中间以逗号分隔。

5.函数与函数间是平行关系,不可以嵌套或在函数中定义新函数。

6.函数的定义应在主函数调用子函数之前。

7.参数的数据传递形式分为值传递和地址传递。



例题:

/*
5、输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩
从大到小打印。三个功能(输入是一个函数,求平均分是一个函数,排序是一个
函数)都用函数实现,最后在main方法中调用。
*/


#include<stdio.h>


void enter()               /*将6个人成绩录入的函数*/
{
int i;
double score[100];     /*因为有6个人而且成绩可以是小数,因此使用双精度数组*/
for(i=0;i<6;i++)
{
printf("请输入第%d个学生的成绩:",i+1);
scanf("%lf",&score[i]);
}
}


double average()           /*求平均分函数*/
{
int i;
double score[100];
double sum=0;
for(i=0;i<6;i++)
{
sum+=score[i];
}
return sum/6;         /*循环求和后,将和除6以后的值返还给average()*/
}


void rank()               /*排序函数*/
{
int i,j;
double score[100];
double tmp;
for(i=0;i<6;i++)      /*冒泡法从大到小排序*/
{
for(j=0;j<5-i;j++)
{
if(score[j]<score[j+1])
{
tmp = score[j];
score[j] = score [j+1];
score[j+1] = tmp;
}
}

for(i=0;i<6;i++)     /*分6次输出重新排列后的数组中的每一个数字*/
{
printf("%.2lf\n",score[i]);
}
}


void main()              /*主函数中调用*/
{
enter();
printf("\n这6个人的成绩按照从大到小的排序是:\n");
rank();
printf("\n他们的平均分是:%.2lf\n",average());  /*打印取值为average函数的返还值*/
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值