#121 实现函数逆序输出一组数据

题目描述:

函数实现将输入的一组数据逆序输出的功能。(参考函数原型:void isort(int a[], int n))
输入输出格式要求:
	编写函数void isort(int a[], int n);
	n表示数组元素个数
	输出格式为:n1,n2,n3,...,nn
例如:
a={1,2,3} n=3
输出:
3,2,1

参考代码:

#include<stdio.h>
void isort(int a[],int n)
{
	for(int i=n-1;i>=0;printf(i>0?"%d,":"%d",a[i--]));
}
int main(){
	int n,a[100001];
	scanf("%d",&n);
	for(int i=0;i<n;scanf("%d",&a[i++]));
	isort(a,n);
	return 0;
} 

讲解:

        这道题目较简单。有关题目的没啥要讲的。

        但是关于函数的第二种定义方法,在这段代码中我选择了讲函数定义在main()函数前面,这样做也是可以的。如果放到main()前面定义则声明和定义直接连在一起,但如果放在main()后面定义则一定要在main()前面声明。因为计算机是按顺序执行代码的,你写的函数大部分要在main()中使用,而使用时如果前面不声明,计算机就不会认得这个函数,从而报错。

        那这里可能有uu要问啦,既然放在main()后面定义还要在跑到main()前面多声明一次,那我们全部都在main()前面定义好了!非也非也!一个成熟的代码,自己写的函数是要多于main()函数的,那么如果全部定义在main()前面,就会导致头重脚轻,当你想查看函数执行过程的时候,你需要往下滑很长一段才能看到main()。

        类比英语中定语(稍微有些不恰当),当定语非常长时,为了避免头重脚轻的难看现象出现,我们会使用定语从句。那么定语从句中which就相当于main()之前的函数声明,而将函数的定义全部放到后面去。

求实求真,大气大为。

上一篇:Leetcode 121 买卖股票的最佳时机


下一篇:力扣刷题--121、买卖股票的最佳时机