AKIHIY 2021-11-10 21:28 采纳率: 82.8%
浏览 30

这是一道c语言的基础题,希望大家给点意见(程序在头歌编译失败)


#include <stdio.h>

void input(int a[],int num); /* 给数组读入num个整数  */
int isSort(int a[],int num); /* 判断数组是不是按升序排列的,是返回1,不是返回0  */
int findMax(int a[ ],int num); /* 找出数组中的最大值并返回  */

int main()
{
    int n,a[10]={0};
    scanf("%d",&n); 
    input(a,n);
    int i;
    int flag;
    i=isSort(a,n);
    if(i=1)
    {
        printf("Yes");

    }
    else if(i=0)
    {
        flag=findMax(a,n);
        printf("%d",flag);
    }
     /*  n是3到10之间的合法数 */

    /* 在此添加代码 */

    

    return 0;
}
void input(int a[],int num)
{
    int i;
    for(i=0;i<num;i++)
    {
        scanf("%d",&a[i]);
    }
}
int isSort(int a[],int num)
{
    int i;
    for(i=0;i<num-1;i++)
    {
        if(a[i]>a[i+1])
        {
            return 0;
            break;
        }
        else
        return 1;
        
    }
}
nt findMax(int a[],int num)
{
    int i;
    int tmp;
    for(i=0;i<num;i++)
    {
        if(a[i]<a[i+1])
{
  tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
        
           
           
        
    }/*大一的零基础c语言,用了个傻方法,大脑昏昏沉沉。*/
    return a[0];
}

/* 在此添加函数的实现 */v
  • 写回答

1条回答 默认 最新

  • aabyte 2021-11-10 21:34
    关注

    修改如下:

    #include <stdio.h>
    void input(int a[], int num); /* 给数组读入num个整数  */
    int isSort(int a[], int num); /* 判断数组是不是按升序排列的,是返回1,不是返回0  */
    int findMax(int a[ ], int num); /* 找出数组中的最大值并返回  */
    int main()
    {
        int n, a[100] = {0};
        scanf("%d", &n);
        input(a, n);
        int i;
        int flag;
        i = isSort(a, n);
        if (i == 1)
        {
            printf("Yes");
        }
        else if (i == 0)
        {
            flag = findMax(a, n);
            printf("%d", flag);
        }
        /*  n是3到10之间的合法数 */
        /* 在此添加代码 */
    
        return 0;
    }
    void input(int a[], int num)
    {
        int i;
        for (i = 0; i < num; i++)
        {
            scanf("%d", &a[i]);
        }
    }
    int isSort(int a[], int num)
    {
        int i;
        for (i = 0; i < num - 1; i++)
        {
            if (a[i] > a[i + 1]) return 0;
        }
        return 1;
    }
    int findMax(int a[], int num)
    {
        int i;
        int tmp = a[0];
        for (i = 0; i < num; i++)
        {
            if (tmp < a[i]) tmp = a[i];
        }
        return tmp;
    }
    
    评论

报告相同问题?

问题事件

  • 修改了问题 11月10日
  • 修改了问题 11月10日
  • 创建了问题 11月10日