一个C语言的子程序,谁帮忙给我分析一下

void inv(int x[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k])
k=j;

if(k!=i)
{t=x[i];
x[i]=x[k];
x[k]=t;
}帮我分析下这个程序好吗?主要是那个循环是做什么的,没看懂

这是一个从大到小排序的算法,复杂度是O(n^2)

void inv(int x[],int n)
{
int i,j,k,t;
//遍历i,实现从大到小排序:
for(i=0;i<n-1;i++){
//找到第i个数后面最大的一个,记为第k个数:
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k])
k=j;
//交换第i个数和后面最大的数,用以保证第i个数大于后面所有的数:
if(k!=i)
{t=x[i];
x[i]=x[k];
x[k]=t;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-13
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k])
k=j;
这个循环是为了取出最大的值的下标的
比如一开始是x[0]和x[1]比较 如果x[0]>x[1]就把大的值的下标取出来赋给K
依次类推
第2个回答  2008-09-13
取数组里面的最大值
第3个回答  2008-09-13
取最值吧。。。。
仔细看看 似乎不难
第4个回答  2008-09-13
按程序块去看嘛..就比较好理解啊..

c语言的子程序是什么
一个程序开始运行时,运行的是主程序段。之后主程序调用的其他程序段就叫子程序。C语言的程序段都是以函数形式存在,所以除了主程序main()以外,其他程序中出现的函数都是子程序。

c语言子程序是什么?
§2.18 子程序(M98、M99)当一个主程序内,有一些固定的程序指令组,它们须时常重复执行,这时可将它们编成子程序,而在主程序中可对它们进行调用,如此可简化程序,使主程序的结构更简洁、清楚。一个子程序亦可调用另一子程序,这种情况称之谓子程序嵌套。下图表示两层嵌套的子程序调用:1.子程序的...

c语言的子程序有过程和函数两种
是的,C语言的子程序有两种,分别是过程(procedures)和函数(functions)。过程是一组具有特定功能的语句,可以接受输入参数并返回一个值。函数是一组具有特定功能的语句,不接受输入参数,但可以返回一个值。过程和函数在C语言中都是可重用的代码块,可以多次调用并执行。它们在程序中扮演着重要的角色,...

c语言的子程序有过程和函数两种
是的,C语言的子程序包括过程和函数两种。子程序在一些主流的编程语言中也叫函数或者方法,是指一段在一起的、可以做某一件事儿的程序,函数是一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。在C语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其他...

C语言中如何调用子程序
例:include<stdio.h> intsushu(intx){inti;for(i=2;i<x;i++)if(x%i==0)break;if(i==x)return1;elsereturn0;} main(){inti,n=0;for(i=2;i<=1000;i++)if(sushu(i)==1)n++:printf("n=%d",n);}

C语言子程序的定义和调用
1、在C\/C++中,没有子程序的说法,而叫做函数。函数可以有返回值,不需要时,可定义为void类型。函数的使用与子程序的用法相同,没有什么特殊之处。2、例如 ...int max(int a, int b) { \/* 返回a和b的最大值 *\/ return (a > b) ? a : b;} ......

c语言子程序的写法,子函数main函数写哪,还用写吗
1、子程序不用写main函数。2、每个程序只有一个main函数。(如果在类里看到了main函数那个不是通常意义上的main函数。只是一个名字叫做main的自定函数)。main函数会接受系统传入的参数。参数是固定的。(但是类里如果见到main函数,肯定是自己定义的参数)。

c语言怎么编写子程序?
C语言 把别的计算机语言中称“函数”或称“子程序”的程序块 统称为 “函数”,没有术语“子程序”。别的计算机语言中称为“子程序”的程序块,C语言叫 void 型 函数。C语言 函数定义 出现在 main() 函数 以后的,则要在 main() 函数 以前 加写 函数原型声明。例如:计算10个数的平均值,最...

为什么编写的c语言子程序会报错呢?
因为子文件中引用主程序定义的结构体出错。解决:将子程序文件中 子函数移至主文件。结构体也是一种数据类型,只不过在这种数据类型中又包含了几个基本的数据类型。构体变量在内存中的存放和基本数据类型变量在内存中的存放是不同的,基本数据类型的存放系统是会给分配一块连续的空间用来存放,而结构体...

C语言中 void和int 这两种子程序有什么区别?大神们帮帮忙
void 函数 返回 空 也就是不需要在最后结束时使用return 0(或其他) int 函数 返回 整型 例如: #include<stdio.h> void main() { printf("Hello,World!\\n") \/*如果前面输入的是:void main() 就不需要在这里输入: return 0(或其他值) 如果前面输入的是int main() 这里则需要输入 return ...

相似回答
大家正在搜