c语言pat基础题改错

img


#include <stdio.h>

#define MAXN 10
typedef float ElementType;

ElementType Max( ElementType S[], int N );

int main ()
{
    ElementType S[MAXN];
    int N, i;

    scanf("%d", &N);
    for ( i=0; i<N; i++ )
        scanf("%f", &S[i]);
    printf("%.2f\n", Max(S, N));

    return 0;
}

/* 你的代码将被嵌在这里 */

我的答案如下:

ElementType Max( ElementType S[], int N ){
    int max=S[0];
    for(int i=0;i<N;i++){
        if(S[i]>max){
               max=S[i];
       }
    }
    return max;
}


img


希望可以得到改正和指导!

修改如下,供参考:

/* 你的代码将被嵌在这里 */
ElementType Max(ElementType S[], int N) {
    ElementType max = S[0]; //int max = S[0]; 修改
    for (int i = 1; i < N; i++) { //for (int i = 0; i < N; i++) 修改
        if (S[i] > max) {
            max = S[i];
        }
    }
    return max;
}

int max=S[0]; 改为 ElementType max = S[0];

代码:

 
#include <stdio.h>
 
#define MAXN 10
typedef float ElementType;
 
ElementType Max( ElementType S[], int N );
 
int main ()
{
    ElementType S[MAXN];
    int N, i;
 
    scanf("%d", &N);
    for ( i=0; i<N; i++ )
        scanf("%f", &S[i]);
    printf("%.2f\n", Max(S, N));
 
    return 0;
}
 
/* 你的代码将被嵌在这里 */
ElementType Max( ElementType S[], int N ){
    int max=0;//这里 
    for(int i=0;i<N;i++){
        if(S[i]>max){
            max=S[i];
       }
    }
    return max;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^