C语言作业问题,为什么会错??求大虾求解!!!

找出一个大小为m的一维单精度实型数组a中的最大数,以及最大数对应的下标,并将找出的最大数作为函数FindMax的返回值,最大数的下标通过指针变量n传给调用函数。#incl... 找出一个大小为m的一维单精度实型数组a中的最大数,以及最大数对应的下标,并将找出的最大数作为函数FindMax的返回值,最大数的下标通过指针变量n传给调用函数。

#include <stdio.h>

void Findmax(float a[],int m,int *n)
{
float max=a[0];
int i,*n=0;
for (i=1;i<m;i++)
{
if (max<a[i])
{
max=a[i];
*n=i;
}
}
return max;
}

void main()
{
float b[10]={1,2,3,8,5,6,7};
int i;
float max;
max=Findmax(b[],10,&i);
printf ("max=%f,i=%d\n",max,i);
}

指出哪里有错就好啦!!!老师要求用这种格式写的。

还有:
第一个字符与第n个字符位置交换,第二个字符与第n-1个字符位置交换。
#include <stdio.h>
#include <string.h>

void main()
{
InvStr(char *s, int n);

}

void InvStr(char *s, int n)
{

char str[200],ch;
char *p,*q;
gets (str);
p=str;
q=p+strlen(p) - 1;
while (p<q)
{
ch=*p;
*p++=*q;
*q--=ch;
}
printf ("%s\n",str);
}
这个是错的!!怎么把这个变成和第一题的格式一样?
展开
 我来答
不正便歪
2011-06-19
知道答主
回答量:31
采纳率:0%
帮助的人:18.3万
展开全部
1.void Findmax(float a[],int m,int *n) //无返回值
max=Findmax(b[],10,&i);
2.#include "stdafx.h"
#include <stdio.h>
#include <string.h>
void InvStr(char *s, int n)
{
char ch;
char *p, *q;
p = s;
q = p + n -1;
while (p < q)
{
ch = *p;
*p++ = *q;
*q-- = ch;
}
}

void main()
{
char str[200];
gets(str);
InvStr(str, strlen(str));
printf("%s\n", str);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式