见路不走


私信TA

用户名:dotcpp0608613

访问量:4602

签 名:

等  级
排  名 781
经  验 3756
参赛次数 0
文章发表 21
年  龄 0
在职情况 学生
学  校 USTC
专  业

  自我简介:

TA的其他文章

解题思路:输入的判断当中,要区分ch是否是',',如果是的话要继续在此行输入,如果不是则换行

注意事项:定义最大值的时候,把几行都找出来,要i+1

参考代码:

#include <stdio.h>

int main()

{

    int n,i,x;

    int a[31];//定于输出

    int mark=0;//定义输出的序和量

    int max=-1;//定义初始最大值

    int first=1;//用来区分最大值出现的第一行和其他行

    char ch;//定义','和非,

    scanf("%d",&n);

    for(i=0;i<n;i++)

    {

        scanf("%d%c",&x,&ch);//输入

        /*

        如果下个ch是',',则还需要输入x,ch;

        */

        

        while(ch==',')

        {

            if(x>max)

            {

                max=x;

                mark=0;

                a[mark]=i;

            }

            else if(x==max&&i!=a[mark])

            {

                    mark++;

                    a[mark]=i;

            }

            ch=' ';

            scanf("%d%c",&x,&ch);

        }

        /*

        如果ch不是','的时候,则输入换行

        */

        if(ch!=','){

        if(x>max)

        {

            max=x;

            mark=0;

            a[mark]=i;

        }

        else if(x==max&&i!=a[mark])

        {

            mark++;

            a[mark]=i;

        }

        scanf("\n");

        }

    }

    

    

    printf("%d\n",max);

    for(i=0;i<=mark;i++)

    {

        if(first)

        {

            printf("%d",a[i]+1);

            first=0;

        }

        else

        {

            printf(",%d",a[i]+1);

        }

    }

    printf("\n");

    return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »