题目描述:
输入n行,每行不超过100个无符号整数,无符号数不超过50位。请输出最大整数以及最大整数所在的行号(行号从1开始)。如果该数据在多个行中出现,则按从小到大输出相应行号,行号之间以一个逗号分开。
输入格式:
一行输入一个正整数n(n <= 50)。
之后的n行,每行包含不超过100个无符号整数,整数之间以一个逗号分开。
输出格式:
第一行:最大整数;
第二行:最大整数所在的行编号,逗号间隔。
样例输入:
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
代码如下:
#include <stdio.h>
int main()
{
long long n,i,x,a[31],mark=0,max=-1,first=1;
char ch;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
scanf("%d%c",&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);
}
if(x>max)
{
max=x;
mark=0;
a[mark]=i;
}
else if(x==max&&i!=a[mark])
{
mark++;
a[mark]=i;
}
}
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);
}
}
return 0;
}