/*10:找最大数序列
内存限制: 65536kB
描述
输入n行,每行不超过100个无符号整数,无符号数不超过4位。请输出最大整数以及最大整数所在的行号(行号从1开始)。
如果该数据在多个行中出现,则按从小到大输出相应行号,行号之间以一个逗号分开。
输入
一行输入一个正整数n(n <= 30)。
之后的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>
#include <string.h>
int llfindMax(int data[], int startLoc, int endLoc);
int main(){
int n;
scanf("%d",&n);
int max[30]={0};
int tmp[100]={0};
int i=0;
int j=0;
char ch;
while(j<n){
if( ch!='\n'){
scanf("%d%c", &tmp[i],&ch);
i++;}
else {
max[j]=tmp[llfindMax(tmp,0,99)];
memset(tmp, 0, sizeof(tmp));
j++;
i=0;
ch=' ';
}
}
printf("%d\n",max[llfindMax(max,0,29)]);
for( i=0 ; i<n ; i++){
if( max[i]==max[llfindMax(max,0,29)] )
{
if(j==n){
printf("%d",i+1);
j--;}
else
{
printf(",%d",i+1);
}
}
}
return 0;
}
int llfindMax(int data[], int startLoc, int endLoc)
{
int i, maxloc;
maxloc = startLoc;
for (i = startLoc+1; i <= endLoc; i++)
if (data[i] > data[maxloc])
maxloc = i;
return maxloc;
}
NOI1.9编程基础之顺序查找 10 找最大数序列 C语言
最新推荐文章于 2024-01-01 09:23:43 发布