黑马程序员技术交流社区

标题: 求指导 [打印本页]

作者: strongfish    时间: 2015-7-14 19:28
标题: 求指导
本帖最后由 strongfish 于 2015-7-14 20:43 编辑

下面的写法为什么不对?【输入5个学生的成绩,算出平均分并且输出】

#include <stdio.h>
int main()
{
     printf("输入5个学生的成绩,用逗号隔开\n");
     int scores[5];
     int sum = 0;
     for(int i=0; i<5; i++)
     {
         scanf("%d", &scores);
         sum += scores;
     }
     printf("平均分是%f\n", sum/5.0);
     return 0;
}


作者: 后街男孩    时间: 2015-7-14 19:52
你定义的数组名为scores,接收键盘值 和计算总成绩改成 scanf("%d", &scores[i]); sum += scores[i]; 就对了
不能用数组名 因为数组名只代表数组的首地址。这样是保存不了接收的值的。
作者: strongfish    时间: 2015-7-14 20:05
后街男孩 发表于 2015-7-14 19:52
你定义的数组名为scores,接收键盘值 和计算总成绩改成 scanf("%d", &scores); sum += scores; 就对了
不 ...

原来的程序就是像你那样写的,帖子里显示的不对。还是谢谢你
作者: 后街男孩    时间: 2015-7-15 13:15
strongfish 发表于 2015-7-14 20:05
原来的程序就是像你那样写的,帖子里显示的不对。还是谢谢你

好吧 再看看
作者: 飞翔的猪    时间: 2015-7-15 17:19
你这样写不行,应该先输入完再累加,再加一个for循环用
for(i=0;i<5;i++)
{
sum+=score[i]
}
这样结算结果
作者: strongfish    时间: 2015-7-15 19:24
飞翔的猪 发表于 2015-7-15 17:19
你这样写不行,应该先输入完再累加,再加一个for循环用
for(i=0;i

嗯,已经解决了。谢谢。
作者: 小蜗牛0519    时间: 2015-7-15 21:22
看看!!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2