设计一个求平均值以及大于小于平均值数字的个数 一直报错
#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+date+date+date+date+date+date+date+date+date;
temp = temp/10;
for (i=0;i<size;i++)
{
if (date>temp)
{
large = large + 1;
}
else if (date<temp)
{
small = small + 1;
}
else{
continue;
}
}
return temp;
}
large是大于平均值数字的个数
small是小于平均值数字的个数
ave是平均值的数值
不知道为什么一直报错,ave = largesmall(data, size, *large, *small);// 関数largesmall()を呼び出す
这一行的内容一直出现报错,我改了很多次弄了一个多小时都没搞明白= =求求大佬帮忙纠错下,拜托了 先把取地址&和解引用*整明白了 本帖最后由 两手空空儿 于 2022-11-10 12:04 编辑
函数声明是这样的 double largesmall(int *data, int size, int *large, int *small);
调用的时候就要按照这个格式 int 的给数,int*的给地址如下
ave = largesmall(data, size, &large, &small);
再去学习一下小甲鱼老师关于指针的那些章节吧
页:
[1]