A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© strongfish 中级黑马   /  2015-7-14 19:28  /  900 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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;
}

6 个回复

倒序浏览
你定义的数组名为scores,接收键盘值 和计算总成绩改成 scanf("%d", &scores[i]); sum += scores[i]; 就对了
不能用数组名 因为数组名只代表数组的首地址。这样是保存不了接收的值的。
回复 使用道具 举报
后街男孩 发表于 2015-7-14 19:52
你定义的数组名为scores,接收键盘值 和计算总成绩改成 scanf("%d", &scores); sum += scores; 就对了
不 ...

原来的程序就是像你那样写的,帖子里显示的不对。还是谢谢你
回复 使用道具 举报
strongfish 发表于 2015-7-14 20:05
原来的程序就是像你那样写的,帖子里显示的不对。还是谢谢你

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

嗯,已经解决了。谢谢。
回复 使用道具 举报
看看!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马