/*=====================================
找最大数序列
总时间限制: 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[];
int max=-,t,len=;
char ch;
int first;
freopen("5.in","r",stdin);
scanf("%d",&n);
getchar();
for(i=;i<n;i++)
{
scanf("%d%c",&t,&ch);
while(ch==',')
{
if(t>max)//发现新的最大值
{
max=t;//记录最大值
len=;//发现新的最大值,要重置数组下标
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=;
a[len]=i;
}
else if(max==t)
{
if(i!=a[len])
{
len++;
a[len]=i;
}
}
}
printf("%d\n",max);
first=;
for(i=;i<=len;i++)
{//输出行号时注意:题目要求行号从1开始计算。
if(first)
{
printf("%d",a[i]+);
first=;
}
else printf(",%d",a[i]+);
}
printf("\n");
return ;
}

最新文章

  1. Google Chrome 应用商店上传扩展程序
  2. Linux(ubanto):可以ping通IP,但不能ping通域名
  3. ubuntu14.04 Hadoop单机开发环境搭建MapReduce项目
  4. abstract和接口
  5. 委托(C# 编程指南)
  6. [HDOJ1078]FatMouse and Cheese(记忆化搜索)
  7. 22.allegro中PCB打印设置[原创]
  8. Qt-获取主机网络信息之QNetworkInterface
  9. ssh中的 Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove &#39;readOnly&#39; marker from transaction definition.
  10. iOS 让CoreData更简单些
  11. alpha-咸鱼冲刺day1-紫仪
  12. sysbench对MySQL的压测
  13. Spring MVC HelloWorld入门及运行机制 (一)
  14. Hibernate 二(一级缓存,多表设计之一对多)
  15. OSGI命令
  16. 1 python基础知识
  17. java应用破解之破解 jeb mips 2.3.3
  18. C语言实现日历输出
  19. NOIP2013PUZZLE
  20. 现学现卖】IntelliJ+EmmyLua 开发调试Unity中Xlua

热门文章

  1. vim的Tab设置为4个空格
  2. webservice发布在外网上的在system.web中加入这个就好使了
  3. HTTP请求错误大全
  4. Android Priority Job Queue (Job Manager):线程任务的容错重启机制(二)
  5. if语句解一元二次方程~
  6. Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
  7. 编程之美2.5:寻找最大的K个数
  8. 关于python的一些笔记
  9. 论文学习 - 《Hadoop平台下的海量数据存储技术研究》
  10. C# DataSet取值