从定义上:库函数,和用户定义函数两种。
我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、东兰ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的东兰网站制作公司
库函数:由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf、scanf、getchar、putchar、gets、puts、strcat等函数均属此类。
用户定义函数:由用户按需要写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。
还是自己写吧,给你提供思路:
1、定义两个临时变量存储最大数和次大数
2、次大数和最大数初始化为数列的第一个数和第二个数
3、遍历数列,如果比这两个数都小,则不处理,如果比较小的大,则用次大数保存这个数。同时保证最大数比次大数大
4、遍历完后输出即可
//插入排序(从小到大)
#includestdio.h
float number[10000]; //在外面定义数组
void insertion_sort(float *number,int n) //定义一个插入函数"insertion_sort"
{
int i=0,ii=0;
float temp=0;
for(i=1;in;i++) //循环遍历
{
temp=number[i]; //将temp每一次赋值为number[i]
ii=i-1;
while(ii=0tempnumber[ii]) //这里改顺序 (temp后的)""为小到大,""为大到小 !!!
{
number[ii+1]=number[ii]; //将大的元素往前放
ii--;
}
number[ii+1]=temp; //与"number[ii+1]=number[ii];"一起意为
} //如果插入的数比之前的大,将number[ii]与number[ii+1]互换
}
int main()
{
int i=0,n;
printf("输入学生个数:\n");
scanf("%d",n); //输入要排序的数字的个数
printf("输入%d个学生成绩:\n",n);
int j=0;
for(;jn;j++) //将所有数全放入number数组中
scanf("%f",number[j]) ;
insertion_sort(number,n); //引用插入函数
/*
//如果需要全部打印取消注释即可
i=0;
for(;in-1;i++) //循环输出
printf("%.2f ",number[i]); //格式需要
printf("%.2f\n",number[i]);
*/
printf("前两名的成绩是:%.2f,%.2f",number[0],number[1]);
return 0;
}
//ENDING
各种限制都没写,自己完善代码吧!打码不容易,望采纳,谢谢!
C语言中一个函数(function)是一个可以从程序其它地方调用执行的语句块。
1、通过使用函数(functions)我们可以把我们的程序以更模块化的形式组织起来,从而利用C语言所支持的结构化程序设计。
2、从数学角度,函数即集合A和集合B之间的映射关系。实际上计算机中的函数概念也是源于此,因此,一般函数,都有形参和返回值。
3、从计算机组成原理的角度来看,函数即是一个小型的计算机系统,依据冯诺伊曼的“存储程序原理”,每一个计算机系统包含:输入系统、输出系统、运算器以及控制器,实际上对于C语言中的函数来说,它是“存储程序原理”的软实现,其中形参、实参这是输入系统,返回值是输出系统,函数体中的运算符,比如+、-、*、/四则运算即为运算器,而逻辑运算符以及if、while等控制语句便是一个控制器。