OpenJudge计算概论-找最大数序列

简介: /*===================================== 找最大数序列 总时间限制: 1000ms 内存限制: 65536kB 描述 输入n行(n 不大于 30),每行不超过100个无符号整数,无符号数不超过4位。
/*=====================================
找最大数序列
总时间限制: 1000ms 内存限制: 65536kB
描述
输入n行(n 不大于 30),每行不超过100个无符号整数,无符号数不超过4位。请输出最大整数以及最大整数所在的行号(行号从1开始单调递增)。如果该数据在多个行中出现,则按从小到大输出相应行号,行号之间以逗号间隔。
输入
n和之后的n行数据
输出
第一行:最大整数;
第二行:最大整数所在的行编号,逗号间隔。
样例输入
6
1,3,5,23,6,8,14
20,22,13,4,16
23,12,17,22
2,6,10,9,3,6
22,21,20,8,10
22,1,23,6,8,19,23
样例输出
23
1,3,6

解析:
这个题目主要需要解决输入和输出的问题。
输入:
那n行数据不需要用数组来存储。输入时每次输入一个数和一个字符类型的逗号。
判定输入的字符是否是逗号来决定是否该结束这一行的输入。 
但是要注意这样一来,可能每一行的最后一次 输入需要特别处理。 

记录最大值所在的行要用一维数组。
但是在记录最大值所在行时必须注意:
新发现的最大值与原最大值相等时,要检查上一次存储的最大值的行与本次需
要存储的最大值的行是否在同一行。 假如真在同一行则需要忽略当前发现的
这个最大值。 
======================================*/
#include<stdio.h>
int main()
{
    int n,i,a[31];
    int max=-1,t,len=0;
    char ch;
    int first;
    freopen("5.in","r",stdin);
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
    {
        scanf("%d%c",&t,&ch);
        while(ch==',')
        {
            if(t>max)//发现新的最大值 
            {
                max=t;//记录最大值 
                len=0;//发现新的最大值,要重置数组下标 
                a[len]=i;//记录最大值的行号 
            }
            else if(max==t)
            {
                if(i!=a[len])//确保同一行里面相同大小的最大数多次出现也只记录一次行号 
                {
                    len++;//下标前移一个单位 
                    a[len]=i;//记录最大值的行号
                }
            }
            ch=' ';//清空ch的值 
            scanf("%d%c",&t,&ch);
        }/**/
        if(t>max)
        {
               max=t;
               len=0;
               a[len]=i;
        }
        else if(max==t)
        {
               if(i!=a[len])
            {
                len++;
                  a[len]=i;
               }
        }
    }
    printf("%d\n",max);
    first=1;
    for(i=0;i<=len;i++)
    {//输出行号时注意:题目要求行号从1开始计算。 
        if(first)
        {
            printf("%d",a[i]+1);
            first=0;
        }
           else printf(",%d",a[i]+1);
    }
    printf("\n");
    return 0;
}

 

目录
打赏
0
0
0
0
8
分享
相关文章
Linux命令ld.bfd:二进制文件的强大链接器
`ld.bfd`是GNU链接器的变体,利用BFD库处理多种目标文件格式(如ELF, COFF)。它收集文件,解析符号,执行重定位,生成可执行文件。特点包括多格式支持,高效符号管理和诊断信息。常用命令如`ld.bfd -o output file1.o file2.o -lc`。注意文件路径、链接顺序,利用诊断信息和文档,保持工具更新以优化使用。
关于thread使用的错误:pure virtual method called terminate called without an active exception
关于thread使用的错误:pure virtual method called terminate called without an active exception
298 1
|
10月前
|
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
该文章展示了使用Python的turtle库进行绘图的进阶案例,包括绘制彩色圆形和复杂图案的代码示例。
2810 6
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
通义灵码:新体验与最佳实践
随着AI技术的发展,阿里巴巴推出的通义灵码作为先进的大模型,提升了自然语言处理能力,并在智能对话、多语言支持及自定义训练等方面带来全新体验。文章介绍了通义灵码在客服系统、智能写作及教育领域的应用案例,展示了其提升效率和创造价值的能力。
255 1
C-RAN:集中式无线接入网,赋能 5G 时代
C-RAN:集中式无线接入网,赋能 5G 时代
352 1
IDEA插件-Maven Helper
Maven Helper是一个用于Apache Maven项目的IntelliJ IDEA插件,它提供了一些有用的功能来帮助开发人员更好地管理和调试Maven项目。
1230 0
IDEA插件-Maven Helper
云效产品使用常见问题之代码管理单文件超过200m无法上传如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
【Python】如何求得任意N个整数的最大值与最小值
【Python】如何求得任意N个整数的最大值与最小值
709 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问