靳子轩 发表于 2020-9-13 17:52:30

无题

#include <stdio.h> //导入头文件。

int main()
{
      int nums;
      int i;/*设置初始化计数器*/
      for (i=0;i>=30;i++)
      {
                printf("请输入第%d个数:", i+1);
                scanf("%d",nums);/*报错为:average.c: In function ‘main’:
                                    average.c:16: error: ‘num’ undeclared (first use in this function)
                                    average.c:16: error: (Each undeclared identifier is reported only once
                                    average.c:16: error: for each function it appears in.)*/
      }
      int j;
      int count = 0;
      for (j=0;j>=30;j++)
      {
                count += num;
      }
      int result;
      result = count / 30;
      printf("平均数为%d", result);
      return 0;
}
注释在上面,求教

sunrise085 发表于 2020-9-13 17:56:23

错误提示中不是说了么错误在第16行,也就是你帖子中的第19行
num未定义。
你把nums写成num了,

风过无痕1989 发表于 2020-9-13 17:56:51

本帖最后由 风过无痕1989 于 2020-9-13 17:59 编辑

兄弟,你第7行错了,应该是小于吧?

我回复慢了,我不再回复了

靳子轩 发表于 2020-9-13 17:59:46

sunrise085 发表于 2020-9-13 17:56
错误提示中不是说了么错误在第16行,也就是你帖子中的第19行
num未定义。
你把nums写成num了,

报错是不报错了,但没有输出,直接平均数为0

巴巴鲁 发表于 2020-9-13 18:00:01

错误有的多哦
#include <stdio.h> //导入头文件。

int main()
{
      int nums;
      int i;/*设置初始化计数器*/
      for (i=0;i<30;i++) // 应该为<30
      {
                printf("请输入第%d个数:", i+1);
                scanf("%d",&nums); // 少了地址符
      }
      int j;
      int count = 0;
      for (j=0;j<30;j++) // 应该为<30
      {
                count += nums; // 应该为nums,num没有定义
      }
      
      // 如果求平均数,应该怎样表示
      float result;
      result = count / 30.0;
      printf("平均数为%f", result);
      return 0;
}

靳子轩 发表于 2020-9-13 18:01:09

风过无痕1989 发表于 2020-9-13 17:56
兄弟,你第7行错了,应该是小于吧?

我回复慢了,我不再回复了

改过来后弹出输入,输入1,返回段错误?

sunrise085 发表于 2020-9-13 18:04:47

靳子轩 发表于 2020-9-13 17:59
报错是不报错了,但没有输出,直接平均数为0

还有其他逻辑问题
第7行和17行 for循环的条件应该是 i<30
第10行scanf后面应该取地址   scanf("%d",&nums);

靳子轩 发表于 2020-9-13 18:07:17

sunrise085 发表于 2020-9-13 18:04
还有其他逻辑问题
第7行和17行 for循环的条件应该是 i

1.改为29一样可以
2.已经改正但你来晚了
页: [1]
查看完整版本: 无题