c语言中最大值的下标

Python049

c语言中最大值的下标,第1张

#include"stdio.h"

main()

{

int row,col,max,b[3][4]

int max_r,max_c//记录最大的行和列下标

for(row=0row<3row++)

{

for(col=0col<4col++)

//scanf("%d",&b[3][4])这里错了

scanf("%d",&b[row][col])

}

max=b[0][0]

max_r=max_c=0//默认

for(row=0row<3row++)

{for(col=0col<4col++)

{

if(max<b[row][col]){

max=b[row][col]

max_r=row//记录最大行下标

max_c=col//记录最大列下标

}

}

}

printf("%d\n",max)

printf("%d\n",max_r)

printf("%d\n",max_c)

}

假如:

int

a[30]

int

b=15

a[b]=10//b就是下标变量

a[3]=111

//3就是下标

//a[0],a[1],a[2]不能当作下标变量使用,他们是数组名,不是一个单纯的下标变量!“

就是说不能

a[a[4]]=100这样用

大概是这个意思

我没试过。。。。

15

由于函数功能是返回最大的下标。而返回值为k,所以k将被赋值为最大下标。

需要填的位置,判断为if(s[p]>s[k]) 也就是发现了比s[k]更大的。这样需要把当前k值替换为p,即k=p

注意分号。

16

fun是一个递归函数。

要计算fun(9)

其实就是9-fun(7)

而fun(7) = 7-fun(5)

fun(5) = 5-fun(3)

fun(3) = 3-fun(1)

fun(1)直接返回3

于是

fun(3) = 3-fun(1)=0

fun(5) = 5-fun(3)=5

fun(7) = 7-fun(5)=2

fun(9)=9-fun(7)=7

输出7