关于c语言编程的问题 调用函数中 怎样调用数组 附加一个小程序 求解~~! 看看我的程序哪里出错了 麻烦大家

编写函数,返回一维实型数组前n个元素中的最大值。
#include <stdio.h>
float max(float a[],int)
{
float k=0;
int i;
for(i=0,i<10;i++)
{
k=a[i];
if(k<a[i+1])
k=a[i+1];
}
return k;
}
void main()
{
float b[10];
int j;
printf("enter number: ");
for(j=0;j<10;j++)
scanf("%f"&a[j]);
printf("max=%f",max(a,10);
getch();
}

你的程序没 有调度试过吧?
修改后如下
k=a[i]; //k 每次都会重新附值,不能保证是最大,最后结果只能是最后两个数的最大值
if(k<a[i+1])
k=a[i+1];

#include <stdio.h>
float max(float a[],int n)
{
float k=a[0];
int i;
for(i=1;i<n;i++)
{
if(a[i] > k){
k = a[i];
}
}
return k;
}

void main()
{
float a[10];
int j;
printf("enter number: ");
for(j=0;j<10;j++)
scanf("%f", &a[j]);
printf("max=%f",max(a,3));
getch();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-17
float max(float a[],int) // int 后面给个变量名子
{
float k=0;
int i;
for(i=0,i<10;i++) //for( ; ; ) 语句格式错误
{
k=a[i];
if(k<a[i+1]) // i=9 的时候a[i+1]数组访问越界
k=a[i+1];
}
return k;
}
void main()
{
float b[10];
int j;
printf("enter number: ");
for(j=0;j<10;j++)
scanf("%f"&a[j]); //数组名字不对,应该是b[]并且少了个逗号
printf("max=%f",max(a,10); //数组名不对,同上,最右端少‘)’
getch();
}

max() 函数里最大值得判断有问题,按你现在的程序,只能取值最后两个元素
按你原程序修改如下:
float max(float a[],int l)
{
float k=0;
int i;
k=a[0];
for(i=1;i<l;i++)
{
if(k < a[i]) k= a[i];
}
return k;
}
第2个回答  2011-04-17
#include <stdio.h>
float max(float a[],int cnt)
{
float k=0;
int i;
for(i=0;i<cnt;i++)//,->;
{
k=a[i];
if(k<a[i+1])
k=a[i+1];
}
return k;
}
void main()
{
float a[10]; //b->a
int j;
printf("enter number: ");
for(j=0;j<10;j++)
scanf("%f",&a[j]);
printf("max=%f",max(a,10));//////少了逗号
getch();
}
第3个回答  2011-04-17
#include <stdio.h>
float max(float a[],int n)
{
float l,t;
int i,j,k=0;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[j]>a[k])
k=j;
if(k!=i){
t=a[i];
a[i]=a[k];
a[k]=t;
}
l=a[0];
}
return l;
}
void main()
{
float b[10];
int j;
printf("enter number: ");
for(j=0;j<10;j++)
scanf("%f",&b[j]);
printf("max=%f\n",max(b,10));
}
实参和形参要区分,当然两个参数名可以一样,C语言对字符要求不高
第4个回答  2011-04-17
#include <stdio.h>
#define MAX 100//数组的最大个数
float max(float a[],int n)
{
float k=0;
int i;
k=a[0];//将最大的数给k
for(i=1;i<n;i++)//从1~n每个元素同k相比,大的给K
{
if(k<a[i])
k=a[i];
}
return k;
}
void main()
{
float a[MAX];
int j=-1;
printf("enter number 以-1 结束: ");
do
{ j++;
scanf("%f",&a[j]);
}while(a[j]!=-1);//输入元素以-1结束
printf("max=%f",max(a,j));
getch();
}

求c语言大佬帮助!帮我写个小程序,谢谢
int n);\/\/随机生成元素取值范围在0到99的数组void Short(int *p,int n);\/\/用选择法对数组中的元素从小到大排序void Print(int *p,int n);\/\/在屏幕上输出数组各元素的值(逗号分隔)#define N (10)int main(){ int a[N],b

c语言的一个小程序应该如何计算
递归调用函数f,每次加8。y从6到1,共6个8相加,结果是48。

C语言中什么叫调用函数?为什么函数和函数之间是调用关系?
1. 函数表达式:1函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。2. 函数语句:函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);scanf ("%d",&b);都是以...

C语言 memcpy()函数应用问题(简单小程序)!!!
char *d这个d指向字符串常量是只读呢,不能当做左值。所以可以改成char d[] = "This is a test for memcpy function"而如果要用memcpy实现strcpy可以 memcpy(dest, src, strlen(src)+1)

用C语言编写一个简单的图书管理小程序
include<string> include<fstream> include<stdio.h> using namespace std;const int maxb=10000; \/\/最多的图书 class book\/\/图书类 { int tag; \/\/删除标记1:已删0:未删 int number; \/\/isbn书号 char name[20]; \/\/书名 char author[10]; \/\/主编 char ...

帮我编几个小程序!!!
printf( "%lf, %lf, %lf 最小数是: %lf", n1, n2, n3, d_min(n1, n2, n3));printf( "%lf, %lf, %lf 平均数是: %lf", n1, n2, n3, d_aver(n1, n2, n3));printf( "任意键退出...");scanf( "%c", &ch );} \/\/20-30内偶数分解为二质数之和 void FunctionThree(...

一个简单的小程序 C语言 BF算法
引用没问题,就是BF函数错了。include<stdio.h>#include<string.h>#include<iostream>\/\/.h去掉using namespace std;\/\/命名空间int BF(char S[],char T[]){int i,j,start;i=0;j=0;start=0;while(S[i]!='\\0'&&T[j]!='\\0')\/\/T[i]改为T[j]{if(S[i]==T[j]){i++;j++;...

c语言中怎么把屏幕输入的一组double数赋给一个数组
输入:用来接收double类型的一个指针的指针,该指针在调用者函数中定义,在此函数中分配内存,在调用者函数中释放内存 输出:提示及错误信息 返回:得到的double类型数组中double数据个数*\/ int ReceiveDoubleArray(double **pArray){ char szInput[2048];\/*定义2K大小的内存缓冲区来接收输入,输入不能超过2048...

要学好一种编程语言的具体过程是怎样的
C++的拥护者则认为,用C写出与虚拟函数等价的代码同样会增加开支。这将是一个还在进行,而且不可能很快得出结论的争论。 我认为,C++的额外开支只是使用更好的语言的小付出。同样的争论发生在六十年代高级程序语言如COBOL和FORTRAN开始取代汇编成为语言所选的时候。批评家正确的指出使用高级语言编写的程序天生就比手写的...

【C语言关于运行时间的小问题】【谢谢大家】【在线等】
一、使用c的time.h中的函数 或者windows api GetTicketCount()函数 使用方式下面的程序里面有介绍,相信结合具体程序,你更易懂些。二、使用线程控制函数 _beginthreadex,想要使计时不受任何东西影响,最好的方式就是使用线程。具体请看下面我写的一个示例程序,编译一下就可以直接运行。这个程序你可以...

相似回答