输入的第一行为 n (0 < n < 1000)n(0
输出为这组数中最大的那个数
#include
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int m,j,max=0;
scanf("%d\n",&m);
for(j=1;j<=m;j++)
{
int k;
scanf("%d",&k);
if(k>max) max=k;
}
printf("%d\n",max);
}
return 0;
}
我输入3 1 2 3却输出2 非最大值,而且是无限制输出,而不是只输入三个数字
请问我的输出为什么会出现这种情况?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答
Meisenheimer 2019-11-23 21:22关注在你的这个程序中n应当是输入的组数,m是每组的数字数,最后的k才是输入的数字。
输入3 1 2 3后n=3,m=1,即应输入三组数据,第一组数据为一个,是2,第二组数据为3个
修改如下:
int main()
{
int n;
scanf("%d", &n);
int j, max = 0;
for (j = 1; j <= n; j++)
{
int k;
scanf("%d", &k);
if (k > max)
max = k;
}
printf("%d\n", max);
return 0;
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报