C语言两个函数题

这篇博客介绍了如何用C语言实现两个函数:查找数组中最大元素的下标和逆转数组。第一个函数indexOfMax接收数组首地址和大小,返回最大元素的下标;第二个函数reverse接收数组首地址和大小,原地逆转数组元素。文章提供样例输入和注意事项,适合初学者练习。

F3 查找数组元素最大值 (10分)
本题要求实现一个函数,查找数组中最大元素的下标。例如数组为{1,3,5,7,9},则该函数应该返回4。题目输入保证数组元素各不相同。

函数接口定义:
int indexOfMax(int *array, int size);

其中 array 和 size 是用户传入的参数。 array 是数组首地址; size 是数组元素的个数。函数须返回数组中最大元素的下标(从0开始)。

裁判测试程序样例:
/* 此测试程序仅为示例,实际的测试程序可能不同 */

#define MAXSIZE 100
int indexOfMax(int *array, int size);
int main(){
    int num[MAXSIZE];
    int total;
    scanf("%d",&total);
    for(int i=0; i<total; i++) scanf("%d",&num[i]);
    printf("%d\n",num[indexOfMax(num,total)]);
    return 0;
}

/* 你所编写的函数代码将被嵌在这里 */

输入样例:
4 2016 2017 1999 1998

  int max=array[0],indexOfMax = 0;
  int i;
for(i=1;i<size;i++) {
    if(array[i] > max)        
    }
    max = array[i];
      indexOfMax = i;
    }
}  return indexOfMax;
} 

觉得这道题简单 ,但是开始没看清题 需要返回数组下标 值得注意的是返回的indexOfMax

F4 数组逆转 (10分)

本题要求实现一个函数,可将一个整型数组里的元素逆转。例如原数组是[1,3,5,7,9],逆转之后变成[9,7,5,3,1]

函数接口定义:
void reverse(int *array, int size);
其中参数 array是数组首地址,size是数组的长度(size>0)。
这道题有两种方法 1申请另一个数组空间进行输出
2 在此空间进行

void reverse(int *array, int size){
	int temp=0;
	for(int i =0;i<size/2;i++){
		temp=array[i];
		array[i]=array[size-1-i]; 
		array[size-1-i]=temp;
	}
}
if(size<2) return ;	
	else
	{
		int a[size];
		int i;
		for(i=0;i<size;i++)
			a[i]=array[size-1-i];
		for(i=0;i<size;i++)
			array[i] = a[i] ;
	}
	```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值