c语言练习 编译报错
/*从键盘上输入10个数,计算均值,然后输出均值以及其中大于均值的数。
思考:3.1题的方法(循环+变量)虽然可以计算均值,但是要输出大于均值的数,必须要将输入的多个数都保存下来,以便与均值进行比较。
因此本题使用循环+变量的方法无法实现输出大于均值的数。怎么办?如何将输入的多个数都保存下来?需要数组。
*/
#include <stdio.h>
int main(){
int a[10];
inti,sum=0;
double aver;
for(i=0;i<10;i++)
{
scanf("%d ", &a[i]);
sum+=a[i];
}
aver=(double)sum/10;
printf("平均值=%lf",&aver);
for(i=0;i<10;i++){
if(a[i]<aver)
{
printf("%d",&a[i]);
}
}
return 0;
}
6.2.c:19:28: warning: format specifies type 'double' but the argument has type 'double *' [-Wformat] printf("平均值=%lf",&aver); ~~~^~~~~6.2.c:24:26: warning: format specifies type 'int' but the argument has type 'int *' [-Wformat] printf("%d",&a); ~~^~~~~2 warnings generated. 把取地址符“&”删了 打印变量时不需要用取地址符:lol printf函数直接传入变量值 不用取变量的地址 删去&即可 楼上正解,
scanf("%d ", &a);//需要&
printf("平均值=%lf",aver); //不需要& 输入需要&,而输出不需要& 这个&符不用啊,你输出是不需要的 输出不需要&,输入需要&,这个错误还是比较基础的 1. 输出不用‘&’符
2. 题目是输出大于平均值的数,最后if里面应该是大于号
页:
[1]