标题:大一新手一个,想求助大神,帮我看看我的程序哪里出问题
只看楼主
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
结帖率:66.67%
已结贴  问题点数:20 回复次数:22 
大一新手一个,想求助大神,帮我看看我的程序哪里出问题
#include <stdio.h>
#include <stdlib.h>


int Maxelement(float A [5],int num1)
int Minelement(float B [5],int num2)
//float average(float C [5],float num3)
//void  swapAn1n2(int array[],int n1 n2)




int main()
{
    float A1[5]    ;
    int a,l;
    for(l=1;l<=5;l++ )
    scanf("%f",&float A[i]);
    a=Maxelement(float[i]) ;
    printf("max=%f",a);   
        
   
   
}   
    int Maxelement(float A [5],int num1)
    {
        int i ,j;
        for(i=0;i<4;i++)
        {
            if(float A[i]<float A[i+1])
            {
                j=float A[i];
                float A[i]=float A[i+1];
                float A[i+1]=j;
               
            }
        }
        num1=float A[i];
        return(num1);
    }
   
   
   
   
   
   
搜索更多相关主题的帖子: average include 
2017-05-25 19:07
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:10 
你这空格加的真诡异,该加的地方没加,不改加的地方全加了。

错误跟代码行数一样多,重新写过吧。

程序代码:
#include <stdio.h>
#include <stdlib.h>


int Maxelement(float A [5],int num1)
int Minelement(float B [5],int num2)
//float average(float C [5],float num3) 
//void  swapAn1n2(int array[],int n1 n2)




int main()
{
    float A1[5]    ;
    int a,l;
    for(l=1;l<=5;l++ ) //下标从0开始,不包含上限,i < 5。
    scanf("%f",&float A[i]);//这个float的用法到底是从哪里学来的?你确定你真的在写C语言?
    a=Maxelement(float[i]) ;//数组名是A1,不是float,参数错误。
    printf("max=%f",a);    
        
    
    
}    
    int Maxelement(float A [5],int num1)//A和[5]之间的空格删掉
    {//返回值类型错误,数组是float,寻找最大值,因此返回值类型也应该是float
        int i ,j;//i后面的空格删掉
        for(i=0;i<4;i++)
        {
            if(float A[i]<float A[i+1])//删掉float,完全搞不懂为什么要这么写,而且还是错的。
            {
                j=float A[i];//删掉float
                float A[i]=float A[i+1];//删掉float
                float A[i+1]=j;//删掉float
                
            }
        }
        num1=float A[i];//删掉float
        return(num1);
    }


[此贴子已经被作者于2017-5-25 19:22编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-25 19:15
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
得分:0 
哈哈,谢谢你
2017-05-25 19:19
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
得分:0 
好的
2017-05-25 19:22
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
得分:0 
大哥,能再帮我看看吗


#include <stdio.h>
#include <stdlib.h>


float Maxelement(float A[5],int num1)
int Minelement(float B[5],int num2)
//float average(float C [5],float num3)
//void  swapAn1n2(int array[],int n1 n2)




int main()
{
    float A1[5]    ;
    int a,l;
    for(l=0;l<4;l++ )
    scanf("%f",&A[i]);
    a=Maxelement(A1[i]) ;
    printf("max=%f",a);   
        
   
   
}   
    float Maxelement(float A[5],int num1)
    {
        int i ,j;
        for(i=0;i<4;i++)
        {
            if(A[i]<A[i+1])
            {
                j=A[i];
                A[i]=A[i+1];
                A[i+1]=j;
               
            }
        }
        num1=A[i];
        return(num1);
    }
   
   
   
   
   
2017-05-25 19:31
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>


float Maxelement(float A[5],int num1)//漏了结尾的分号,刚才我忘记说了。
                                    //按照你的意图的话,int num1这个参数是没有必要的,删掉。
int Minelement(float B[5],int num2)
//float average(float C [5],float num3) 
//void  swapAn1n2(int array[],int n1 n2)




int main()
{
    float A1[5]    ;
    int a,l;
    for(l=0;l<4;l++ ) //4改成5,
    scanf("%f",&A[i]);
    a=Maxelement(A1[i]);
    printf("max=%f",a);    
        
    
    
}    
    float Maxelement(float A[5],int num1)
    {
        int i ,j;
        for(i=0;i<4;i++)//这一个不用改,改了会越界
        {//你的意图是否是把最大值移动在数组的最开始部分?如果是的话,返回A1[0]就可以了。
            if(A[i]<A[i+1])//如果你的意图如上,那么你的代码是达不到你所想要的目的的。
            {
                j=A[i];
                A[i]=A[i+1];
                A[i+1]=j;
                
            }
        }
        num1=A[i];//如果删掉了函数的参数 int num1,这一行也要删掉。
        return(num1);//这一行改成 return A1[0]
    }


[此贴子已经被作者于2017-5-25 19:40编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-25 19:39
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
得分:0 
大哥,谢谢,我改改再编译试试
2017-05-25 19:45
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
我重写了你的代码,你参考下吧。
我还有事。

程序代码:
#include <stdio.h>
float
maxelement( float *a, int size );

int
main( void )
{
    float A[ 5 ];
    int i;

    for( i = 0; 5 > i; ++i )
        scanf( "%f", &A[ i ] );

    printf( "%f", maxelement( A, 5 ) );

    return 0;
}

float
maxelement( float *a, int size )
{
    int i;
    float max;

    for( i = 1, max = a[ 0 ]; size > i; ++i )
        max = max > a[ i ]? max : a[ i ];

    return max;
}


[此贴子已经被作者于2017-5-25 19:59编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-25 19:52
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
得分:0 
我就是想找出一个数组的最大值,然后输出最大数值,那我代码要怎样改才能实现这个功能
2017-05-25 19:53
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 9楼 陈光星
参考楼上我写的代码。
maxelement函数for循环写错了一个变量,已经修改了。

[此贴子已经被作者于2017-5-25 19:55编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-25 19:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043907 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved