|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 壳970527 于 2022-11-10 00:59 编辑
#include <stdio.h>
double largesmall(int *data, int size, int *large, int *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);
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);这一行中一直报错,我改了又改还是一直报错,请问下这是为什么呀
我的想法是利用指针在函数内进行计算然后直接得出结果
最后结果在外面打印出来,可是一直报错,指针真的好难- -
再改这样试试
- ave = largesmall(data, size, & large, & small)
复制代码
|
|