鱼C论坛

 找回密码
 立即注册
查看: 2362|回复: 2

设计一个求平均值以及大于小于平均值数字的个数 一直报错

[复制链接]
发表于 2022-11-10 00:50:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

double largesmall(int *data, int size, int *large, int *small);
// 関数largesmall()のプロトタイプ宣言
// 平均値以上のデータの個数,平均値より小さいデータの個数をlarge,smallに求める
// 平均値を返す

int main(void) {
  int data[] = {6, 12, 23, 4, 9, 7, 5, 10, 8, 1};  // 例示用整数データ
  //int data[] = {15, 1, 2, -18, 6, 4, -17, 0, 3, 9};  // 提出用整数データ
  int size = 10;  // 整数型配列のデータの個数
  double ave;     // 平均値を格納する
  int large = 0;      // 平均値以上のデータの個数を格納する
  int small = 0;      // 平均値より小さいデータの個数を格納する

  ave = largesmall(data, size, *large, *small);// 関数largesmall()を呼び出す
  printf("平均値:%f \n", ave);
  printf("平均値以上のデータの個数:%d \n",large);
  printf("平均値より小さいデータの個数%d \n", small);

  return 0;
}

double largesmall(int *date, int size, int *large, int *small) {
  double temp;
  int i;

  temp = date[0]+date[1]+date[2]+date[3]+date[4]+date[5]+date[6]+date[7]+date[8]+date[9];
  temp = temp/10;
  for (i=0;i<size;i++)
  {
    if (date[i]>temp)
    {
      large = large + 1;
    }
    else if (date[i]<temp)
    {
      small = small + 1;
    }
    else{
      continue;
    }
  }
  return temp;


}


large是大于平均值数字的个数
small是小于平均值数字的个数
ave是平均值的数值
不知道为什么一直报错,  ave = largesmall(data, size, *large, *small);// 関数largesmall()を呼び出す
这一行的内容一直出现报错,我改了很多次弄了一个多小时都没搞明白= =求求大佬帮忙纠错下,拜托了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 10:33:19 | 显示全部楼层
先把取地址&和解引用*整明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-10 12:03:06 | 显示全部楼层
本帖最后由 两手空空儿 于 2022-11-10 12:04 编辑

函数声明是这样的 double largesmall(int *data, int size, int *large, int *small);
调用的时候就要按照这个格式 int 的给数,int*的给地址如下
ave = largesmall(data, size, &large, &small);

再去学习一下小甲鱼老师关于指针的那些章节吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 08:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表