怎样定义两个函数,并在主函数中输出结果,下面代码有什么错误

#include
int main()
{
float max_();
float min_();
int i;
float a[5];
for(i=0;i<5;i++)
scanf("%f",&a[i]);
max_();
min_();
printf("max=%.1f,min=%.1f\n",max_(),min_());
return 0;
}
float max_()
{
int i;
float a[5],max;
max=a[0];
for(i=1;i<=5;i++)
{
if(max<a[i])
max=a[i];
}
return max;

}
float min_()
{
int i;
float a[5],min;
min=a[0];
for(i=1;i<=5;i++)
{
if(min>a[i])
min=a[i];
}
return min;

}

3个回答

问题如下:
对于程序的输入,你在main函数中定义了floata[5]来存放,所以它的作用范围在main内,而你在max()和min()中的又分别重新定义了float a[5],注意这里的a[5]并不是main函数中的a[5]了。

解决如下:
1. 将float a[5]定义为全局的,这样main和max还有min中使用的是同一份
2. 将main函数中的a[5]通过参数形式传递给max和min函数

如有问题可以回复我,如有说的不当之处也请指出。

#include <stdio.h>

float a[5];  //全局的数组,这样max和min函数才能正确执行 
int main()
{
    float max_();
    float min_();
    int i;
    for(i=0;i<5;i++)
        scanf("%f",&a[i]);
    max_();
    min_();
    printf("max=%.1f,min=%.1f\n",max_(),min_());
    return 0;

}
float max_()
{
    int i;
    float max;
    max=a[0];
    for(i=1;i<=5;i++)
    {
        if(max<a[i])
            max=a[i];

    }
    return max;


}

float min_()
{
    int i;
    float min;
    min=a[0];
    for(i=1;i<=5;i++)
    {
        if(min>a[i])
            min=a[i];

    }
    return min;


}

函数和变量被使用前首先要被声明!因此,要在主函数前面先声明函数

函数和变量被使用前首先要被声明!因此,要在主函数前面先声明函数.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
定义max函数输出结果错误
#include rn#include rnrnint main()rnrn system("color fA");rn int max(int x, int y);rn int a, b, c;rn printf("please enter two integer numbers:");rn scanf("%d,%d",&a,&b);rn c = max(a , b);rn printf("max is %d\n",c);rn system("pause");rn return 0;rnrnrnrnint max(int x , int y)rnrn int z;rn z = x > y ? x : y;rn return z;rnrnrnrnplease enter two integer numbers:12,13rnmax is 12rn请按任意键继续. . .rnrn想问错误在哪里?
3-08 下面代码有什么错误
1、让学者有面试的技能,运用面试相关的知识点 2、让求职突破面试难点,成功入职
请问下面这段代码有什么错误
smiLPUINT32 MajorVersion;rn smiLPUINT32 nMinorVersion;rn smiLPUINT32 nLevel;rn smiLPUINT32 nTranslateMode;rn smiLPUINT32 nRetransmitMode;rn HSNMP_SESSION hSession;rn HSNMP_ENTITY hSendEntity;rn HSNMP_ENTITY hReEntity;rn HSNMP_CONTEXT hContext;rnrn smiLPOID smiOid;rn HSNMP_VBL hVbl;rn HSNMP_PDU hPdu;rn MajorVersion=new unsigned long;rn nMinorVersion=new unsigned long;rn nLevel=new unsigned long;rn nTranslateMode=new unsigned long;rn nRetransmitMode=new unsigned long;rn if(SnmpStartup(MajorVersion,nMinorVersion,nLevel,nTranslateMode,rn nRetransmitMode) != SNMPAPI_SUCCESS)rn rn AfxMessageBox("SnmpStatup Error");rn rnrn rn hSession = SnmpCreateSession(m_hWnd,wMsg,NULL,NULL);rn if(hSession == SNMPAPI_FAILURE)rn rn AfxMessageBox("SnmpCreateSession Error");rn rn if(SnmpSetTranslateMode(SNMPAPI_UNTRANSLATED_V2) != SNMPAPI_SUCCESS )rn rn AfxMessageBox("SnmpSetTranslateMode Error");rn rnrn smiOCTETS smiOctets;rn smiOctets.len = lstrlen("public");rn smiOctets.ptr = (unsigned char *)"public";rn hContext = SnmpStrToContext(hSession, &smiOctets);rn if(hContext == SNMPAPI_FAILURE)rn rn AfxMessageBox("hContext Error");rn rnrn hSendEntity = SnmpStrToEntity(hSession,"10.0.0.4");rn if(hSendEntity == SNMPAPI_FAILURE)rn rn AfxMessageBox(" hSendEntity SnmpStrToEntity Error");rn rn hReEntity = SnmpStrToEntity(hSession,"10.0.0.3");rn if(hReEntity == SNMPAPI_FAILURE)rn rn AfxMessageBox("hReEntity SnmpStrToEntity Error");rn rn if(SnmpSetTimeout(hSendEntity,10) == SNMPAPI_FAILURE)rn rn AfxMessageBox("SnmpSetTimeout Error");rn rn if(SnmpSetRetry(hSendEntity,20) == SNMPAPI_FAILURE)rn rn AfxMessageBox("SnmpSetRetry Error");rn rn smiOid = new smiOID;rn if(SnmpStrToOid("1.3.6.1.2.1.33.1.6.2.1.2.0",smiOid) == SNMPAPI_FAILURE)rn rn AfxMessageBox("SnmpStrToOid Error");rn rnrn hVbl = SnmpCreateVbl(hSession,smiOid,NULL);rn if(hVbl == SNMPAPI_FAILURE)rn rn AfxMessageBox("SnmpCreateVbl Error");rn rn hPdu = SnmpCreatePdu(hSession,SNMP_PDU_GET,5,NULL,NULL,hVbl);rn if(hPdu == SNMPAPI_FAILURE)rn rn AfxMessageBox("SnmpCreatePdu Error");rn rn if(SnmpSendMsg(hSession,NULL,hSendEntity,hContext,hPdu) == SNMPAPI_FAILURE)rn rn AfxMessageBox("SmpSendMsg Error");rn
Python--下面代码输出什么?
def f(x, lst=[]): for i in range(x): lst.append(i*i) print(lst) if __name__ == '__main__': f(2) f(3,[3,2,1]) f(3) # 执行上面的代码将输出: [0, 1] [3, 2, 1, 0, 1, 4] [0, 1, 0, 1, 4] ...
下面程序代码有什么错误?
Void test1()rnrn char string[10];rn char* str1="0123456789";rnstrcpy(string, str1);rnrnrnrnVoid test2()rnrn char string[10], str1[10];rnfor(I=0; I<10;I++)rnrn str1[i] ='a';rnrnstrcpy(string, str1);rnrnrnVoid test3(char* str1)rnrn char string[10];rn if(strlen(str1)<=10)rnrn strcpy(string, str1);rnrnrn
求素数,并在文本框中输出结果
//求素数rn //任意输入两个整数,求这两个数之间的素数,得出来的素数显示在文本框中rnrn //为什么我的不显示,请求各位大虾帮助rnimport java.awt.*;rnimport java.awt.event.*;rnimport java.util.*;rnrnclass sushu extends Frame implements ActionListenerrnrn int m,n;rn int i,j;rn int k = 0;rn TextField t1 = new TextField(5);rn TextField t2 = new TextField(5);rn Button b = new Button("求素数");rn TextArea t3 = new TextArea();rn rn public sushu(String title)rn rn super(title);rn setLayout(new FlowLayout());rn add(t1);rn add(t2);rn add(b);rn add(t3);rn b.addActionListener(this);rnrn addWindowListener(new WindowAdapter()rn rn public void windowClosing(WindowEvent e)rn rn dispose();rn System.exit(0);rn rn );rn setSize(500,300);rn setVisible(true);rn rn public void GetPrimenumber()rn rn boolean f;rn for(i=m;i<=n;i++)rn rn f = true;rn for(j=2;j
头文件主函数定义函数的布局
养成良好的分成.h文件以及多个cpp的习惯,文件为简单的demo。
面视题:下面代码将输出什么结果
package com.test;rnrnpublic class Test rnrn rn public static void main(String[] args) rn String a = "abc";rn String[] b = "a","b","c";rn change(a,b);rn System.out.println(a);rn System.out.println(b[0]+b[1]+b[2]);rn rn rn public static void change(String a,String[] b)rn a="123";rn b[0]="A";rn rnrnrnrnrnrnrnrnrn结果是:rnabcrnAbcrnrnrn请问为什么String a 的值没被改变,而数字 b[0]的值却改变了??
怎样从子函数向主函数中定义的文件流输入字符串
我在主函数中定义了一个文件流,想通过几个子函数向这个文件输入不同的内容,我应该怎么做呢, 我试着以文件流作为参数传递给子函数,怎么不行? 哪位能给点意见,多谢了
请写出下面代码的输出结果(15)
[code=Java]/**rn * Generated by the IBM IDL-to-Java compiler, version 1.0rn * from F:\TestRoot\apps\a1\units\include\PolicyHome.idlrn * Wednesday, June 17, 1998 6:44:40 o'clock AM GMT+00:00rn */rnrnpublic class T rn public static void main(String[] args) rn System.out.print("Hell");rn System.out.println("o world");rn rnrn[/code]
请写出下面代码的输出结果
[code=Java]public class JoyOfHex rnrn public static void main(String[] args) rnrn System.out.println(rnrn Long.toHexString(0x100000000L + 0xcafebabe));rnrn rnrn[/code]rnrn
请写出下面代码的输出结果(19)
[code=Java]rnpublic class Twisted rn private String name;rnrn Twisted (String name) rn this.name = name;rn rnrn private String name() rn return name;rn rnrn private void reproduce() rn new Twisted ("reproduce") rn void printName() rn System.out.println(name());rn rn .printName();rn rnrn public static void main(String[] args) rn new Twisted ("main").reproduce();rn rn[/code]rnrn输出 main 还是 reproduce 呢???
请写出下面代码的输出结果(13)
[code=Java] public static void main(String[] args) rn final String pig = "length: 10";rn final String dog = "length: " + pig.length();rn System.out.println("Animals are equal: " + pig == dog);rn [/code]
请写出下面代码的输出结果(16)
[code=Java] public static void main(String[] args) rn // Note: \u000A is Unicode representation of linefeed (LF)rn char c = 0x000A;rn System.out.println(c);rn [/code]
那位帮忙解释下下面代码的输出结果
[code=C/C++]rn#includern#includernvoid main()rnrn char temp1[]="\0";rn char temp2[]="\012345";rn cout<<"temp1:"<
请分析下下面代码输出结果怎么回事?
[code=C/C++]#includernusing namespace std;rnrnint main(void)rnrn char a[2];rn char *p =a;rn for(int i =0 ;i<7;i++)rn cout <
求输出下面魔方阵结果的代码
求输出下面结果的代码rnrn17 16 15 14 13 rn18 5 4 3 12rn19 6 1 2 11rn20 7 8 9 10 rn21 22 23 24 25rnrnrn不知道看明白没有?
请写出下面代码的输出结果 (12)
[code=Java] public static void main(String[] args) rn String letters = "ABC";rn char[] numbers = '1', '2', '3' ;rn System.out.println(letters + " easy as " + numbers);rn [/code]
请写出下面代码的输出结果(14)
[code=Java] public static void main(String[] args) rn // \u0022 is the Unicode escape for double quote (")rn System.out.println("a\u0022.length() + \u0022b".length());rn [/code]
请讲下下面代码的输出结果,为什么????
typedef struct rn rnint a:2;rnint b:2;rnint c:1;rntest;rnrntest t;rnt.a = 1;rnt.b = 3;rnt.c = 1;rnrnprintf("%d",t.a);rnprintf("%d",t.b);rnprintf("%d",t.c);rn
在vb中怎样定义一个 工作线程 并在该线程中定义函数 写代码
在vb中怎样定义一个 工作线程 我知道在vc中用createthreade() 我的函数功能执行起来很废时间 我想把它放到一个工作线程中 这样就不影响窗体界面的操作了! 拜托好心朋友 用代码示例说下如何定义
请问下面两个定义有什么区别?
public const ss="china"rnrnpublic Read only ss as String="china"
*& 和*定义函数有什么不同
请赐教咯!谢谢
下面将定义什么?
static unsigned char IP[] = rnrn 58,50,42,34,26,18,10, 2,rn 60,52,44,36,28,20,12, 4,rn 62,54,46,38,30,22,14, 6,rn 64,56,48,40,32,24,16, 8,rn 57,49,41,33,25,17, 9, 1,rn 59,51,43,35,27,19,11, 3,rn 61,53,45,37,29,21,13, 5,rn 63,55,47,39,31,23,15, 7,rn;
两个工具 输出中间结果,计时函数
#include &amp;lt;stdio.h&amp;gt; 2 #include &amp;lt;time.h&amp;gt; 3 int main() { 4 const int MOD = 1000000; 5 int n, s = 0; 6 //scanf(&quot;%d&quot;, &amp;amp;n); 7 n =10000000; 8 for (int i = 1; i &amp;lt...
两个函数输出结果一致吗?
两个函数输出结果一致吗?如果不一致,请说明什么情况下结果不一致啊(或者举出具体例子)谢谢啦rnvoid change1(int *pa,int *pb)rnrn *pa = *pa+*pb;rn *pb = *pa - *pb;rn *pa = *pa - *pb;rnrnvoid change2(int *pa,int *pb)rnrn int temp;rn temp = *pa + *pb;rn *pa = temp - *pa;rn *pb = temp - *pa;rnrn==========================================================rnextern int funA();rnextern int funB();rnint total1()rnrn return funA() + funB();rnrnrnint total2()rnrn return funB() + funA();rnrnrn===========================================================rnrnchar *fun1()rnrn char ach[] = "123";rn return ach;rnrnrnchar * fun2()rnrn char * pch = "123";rn return pch;rnrn=================================================rn大家随便聊聊啊,知道多少说多少啊。谢谢啦。
下面应该输出什么?
#includernvoid main()rnchar str[10] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; rnchar ch = *((short *)str + 3); rncout<
下面这段代码会输出什么?
[code=C/C++]rn#include rnrnusing namespace std;rnrnint &MyPlus(int &i, int &j)rnrn static int temp;rn temp = i * j;rn return temp;rnrnrnint main()rnrn int a = 5;rn int b = 6;rn int c = 7;rn int d = 8;rn if (a*b == c*d)rn rn cout<<"equal"<
下面代码的输出都是什么,为什么???
#include rnusing namespace std;rnstruct bit rn int a:3; rnint b:2; rnint c:3; rn; rnint main() rn rn bit s; rn char *c=(char*)&s; rn cout<
条位请教下面两个函数有什么不同
请条位帮助下面两个函数有什么不同:rnfunction aa(str:string):string;rnfunction aa(var str:string):string;rnrnprocedure bb(ob:Tobject);rnprocedure bb(var ob:Tobject);
下面代码打印的结果?
Integer a = 100,b = 100,c=130,d=130; System.out.println(a == b); System.out.println(c==d);  打印结果为:第一个是true;第二个是flase;原因:a,b,c,d四个变量都是integer对象的引用,所以==比较的不是值,而是引用,如果整型字面量的值在-128到127之间,那么不会new新的Inte...
下面程序的输出结果~~为什么???
char s[] = "123456789";rn char d[] = "123";rn strcpy(d,s);rn printf("%s,\n%s\n",d,s);
看看下面枚举变量的输出结果
enum MyEnumrnrn A1,rn A2,rn A3,rn A4,rn A5,rn A6=6,rn A7,rn A8,rn;rnrn为什么输出A5时是4rnA7时是7
写出下面程序的输出结果
#include rnvoid main()rnrnchar a='2',b='a';rnint c;rnc=a+b;rna=c;rnprintf("%c %c %d\n",a,b,c);rn
大家看一下这个函数输出什么结果
function Person(name, age) rn this.name = name;rn this.age = age;rn this.friends = ["hello", "test"];rn rn Person.prototype = rn constructor:Person,rn sayName: function() rn alert(this.name);rn rnrn rn var person1 = new Person("wang", 32);rn alert(person1.sayName());
下面两个事件有什么不同啊
[img=http://hi.csdn.net/attachment/201108/17/10024661_13135461282XN3.jpg][/img]rn和rn[img=http://hi.csdn.net/attachment/201108/17/10024661_1313546091MHBv.jpg][/img]rn有什么不同啊
下面两个语句 有什么不同呢??
请问: /~guest/bin/ 和/home/guest/bin 有什么不一样的呢?rn
下面两个servlet-api有什么不同么?
rnMaven 仓库里搜到servlet-api相关包不少,不知道下面两个有什么区别。。。rnrn org.daisy.libsrn servlet-apirn 2.5.0rnrnrnrnrn jettyrn servlet-apirn 2.5-6.0.2rnrnrn为何groupId完全不同?这两个有什么区别么?
解释一下下面代码的输出
console.log(0.1 + 0.2); //0.30000000000000004 console.log(0.1 + 0.2 == 0.3); //false小数做运算时会出现精度不准的问题 小数做比较由于精度问题,会出现看着相等其实不相等的情况 如果实在要比较小数,可以将他们先乘以10,变为整数再比较
下面代码输出是多少?
#inclduernmian()rnrnint a,b,c,d;rna=10;rnb=a++;rnc=++a;rnd=10*a++;rnprintf("b,c.d:%d.%d",b,c,d);rnreturn 0;rnrnrnrn结果是多少,为什么?
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数

相似问题

2
02-线性结构2 一元多项式的乘法与加法运算,这道题的代码上的问题
2
dynamic_cast 不正常的失败,RTTI输出奇怪
6
关于比较字符串函数strcmp()
3
如何实现python程序和C++程序的交互?
2
求一用数据结构c++编写的纸牌游戏程序
1
写一个死锁示例,创建两个线程的代码看不出什么问题但是在命令行运行时只输出了一个线程是怎么回事?
2
在看书《Java核心技术I》,在代理那章有一个关于InvocationHandler的问题没看懂,望大神能解释一下。
3
函数传递时,若为f(x=1,x=2,x=3)形式,得到的形参均为一,为什么会这样?
0
android百度地图的PlanNode.withCityNameAndPlaceName();无法解析地址的经纬度?
1
基于tensorflow的pix2pix代码中如何做到输入图像和输出图像分辨率不一致
3
C语言编程:程序运行总会在一个地方出错,如题
1
【C语言】结构体数组作为函数参数的排序问题
1
求助大佬为什么我的代码运行时测试器会输出运行时错误(SIGABRT)?
0
我用这个代码做不出来,希望大佬们能给我一个完整的能运行的程序代码,谢谢。
3
临时对象到底是不是对象,为什么我的代码会出错?c++
3
C++作业派生类的定义求解
1
C++作业 派生类构造和析构函数的执行顺序 求大佬帮解答一下
1
javascirpt,用谷歌控制台跑,一个代码块里的所有代码,不是按顺序串行执行的吗?
1
[C++数据结构]自己按书中代码打了一个二叉查找树模板类,发现不能在树上正常插入元素
1
C中指向double型的指针作形参,在运算编译的时候报错,不知道原因?