新手求教!为啥输出的是乱码
书上的题目,要求求一个班同学的平均成绩,在成绩录入那一块我自己改成了for循环输入我用debug调试了一下循环的时候看见他输入进去了,但是就是不知道为啥出来的结果是乱码{:5_104:}
#include <stdio.h>
#include <math.h>
void main ()
{
double average (int n,double array []);
double put ;
int x,n;
while (1)
{
printf ("Please input the number of students in your class\n");
scanf ("%d",&n);
printf ("Please input the grade of you class :\n");
for (x = 0;x<n;x++)
{
scanf ("%lf",&put);
}
printf ("you class students average score is %lf\n",average(n,put));
}
}
double average (int n,double array [])
{
int x;
double sum = 0;
double aver;
for (x = 0;x<n;x++)
{
sum = sum + array;
}
aver = sum/n;
return (aver);
}
http://p2.so.qhmsg.com/t0254f11f54fa612ff6.jpg 还在用 VC6.0 ?建议使用 Dev-c++ 输出格式是long float,你给它一个double类型的数据? 一个账号 发表于 2020-3-20 16:13
还在用 VC6.0 ?建议使用 Dev-c++
感谢建议
可能是你的put 数组没有初始化:double put = {0} Dev C++已经停止维护了,而且Dev 也是有问题的,建议还是使用VS Code 或者VS 梦想灬远帆 发表于 2020-3-20 16:23
可能是你的put 数组没有初始化:double put = {0}
我刚刚按你的试了一下,结果为0{:10_284:} 光着屁股的犀牛 发表于 2020-3-20 16:33
我刚刚按你的试了一下,结果为0
#include <stdio.h>
#include <math.h>
int main ()
{
double average (int n,double array []);
double put = {0};
int x,n;
while (1)
{
printf ("Please input the number of students in your class\n");
scanf ("%d",&n);
printf ("Please input the grade of you class :\n");
for (x = 0;x<n;x++)
{
scanf ("%lf",&put);
}
printf ("you class students average score is %lf\n",average(n,put));
}
}
double average (int n, double *p)
{
int x;
double sum = 0;
double aver;
for (x = 0;x<n;x++)
{
sum = sum + p;
}
aver = sum/n;
return (aver);
}
scanf里面put[]应该是put
你后面传递数组的时候传递的不对,应该传第一个的地址 梦想灬远帆 发表于 2020-3-20 16:55
scanf里面put[]应该是put
你后面传递数组的时候传递的不对,应该传第一个的地址
感谢,感谢,万分感谢,自己看了快半个小时了都没看出来{:10_266:}
页:
[1]