为了账号安全,请及时绑定邮箱和手机立即绑定

哪里出问题了??

哪里出问题了??

C C# C++
小王同学2015 2016-05-16 22:11:59
运行时就出现了这种问题源代码是这样#include<stdio.h>/*输入一批学生的 成绩 找出最高分*/ int  main(){ int i,max,mark,n; printf("enter n:"); scanf("%d",&n); printf("enter %d marks:",n); scanf("%d",mark);//只输入一次  max = mark; for(i=1;i<=n;i++){ scanf("%d",mark); if(mark>max) max = mark; } printf("max = %d\n",max); return 0;  } 
查看完整描述

4 回答

?
jfhdibrbfjd

TA贡献163条经验 获得超40个赞

我改完了

#include<stdio.h>

/*输入一批学生的 成绩 找出最高分*/ 

int  main()

{

   int i,max,mark,n;

     printf("enter n:");

     scanf("%d",&n);

    printf("enter %d marks:",n);

       scanf("%d",&mark);//只输入一次 

       max = mark;

    for(i=1;i<n;i++)

{

     scanf("%d",&mark);

      if(mark>max)

       max = mark;

}

printf("max = %d\n",max);

return 0; 

 }

//img1.sycdn.imooc.com//573dcec9000177a308620612.jpg

查看完整回答
1 反对 回复 2016-05-19
?
留得枯荷听雨声lyx

TA贡献51条经验 获得超16个赞

9和12行的scanf里没有&,从意思来看,你想要输入n个成绩是吧,一开始输入了一个,后面的for循环里应该少一个输入。

查看完整回答
反对 回复 2016-05-17
?
深蓝褪去

TA贡献1条经验 获得超0个赞

两处scanf()里面少写了&取地址符

查看完整回答
反对 回复 2016-05-16
  • 小王同学2015
    小王同学2015
    您在您的电脑试一下吧 输入玩数字后 按回车 不管输入多少次 都没法显示max
?
onemoo

TA贡献883条经验 获得超454个赞

第9行和第12行,scanf中应该是 &mark

查看完整回答
反对 回复 2016-05-16
  • 小王同学2015
    小王同学2015
    您在您的电脑试一下吧 输入玩数字后 按回车 不管输入多少次 都没法显示max 我输入的数字间有空格 比如 67 88 73 54 82
  • onemoo
    onemoo
    你第一次输入的应该是要比较的数字的个数n,而且你在循环外面已经执行了一次scanf mark,所以你后面应该输入n+1次数字才能结束循环。 在改动了9和12行后,这个代码运行没有任何问题。 你是不是只输入了‘67 88 73 54 82’这五个数? 这样的话,n就是67,你后面还要输入68个数才能结束循环。
  • 4 回答
  • 0 关注
  • 1500 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信