回 帖 发 新 帖 刷新版面

主题:[讨论]C语言一道习题

#include<stdio.h>
void main()
{int i,j,a[5],sum=0,n=0,m=0;
double ave[5]={0.0};
for(i=0;i<4;i++)
{printf("请输入第%d个人的5科成绩",m++
        );
  for(j=0;j<5;j++)
  {scanf("%d",&a[j]);
  sum=sum+a[j];}
  ave[n++]=sum/4.0;
  printf("\n");
}
printf("第%d个人的平均成绩是:%lf",m,ave[n]);

}
这个我改一下
其实,这个问题是,一共有4个人,求每人5科成绩的平均数使多少??
 这个程序对不对啊!!!  
  但是,运行是能运行,但是,不能按我的要求办事,有些不会!!!
希望高手指点迷津!!!

回复列表 (共5个回复)

沙发


我很怀疑这一段

【a[5]={0,0}】

我也是初学者,希望大侠们来解释下~

板凳

Remarks
The scanf function reads data from the standard input stream stdin and writes the data into the location given by argument. Each argument [color=FF0000]must be a pointer[/color] to a variable of a type that corresponds to a type specifier in format. If copying takes place between strings that overlap, the behavior is undefined.

3 楼

你的scanf("%d",a[j])前面没有加&
scanf("%d",&a[j]);
恕我眼拙,没看懂你的程序是干什么的?如果就是算平均值,要这么写吗?
你的for循环液不加括号。。。。。

4 楼

[quote]
我很怀疑这一段

【a[5]={0,0}】

我也是初学者,希望大侠们来解释下~
[/quote]
这个是没有问题的,后面的默认为0,就是{}里不写,也没有问题的

5 楼


#include <stdio.h>
void main()
{
    int i,a[5];

    float ave,sum=0.0;

    for(i=0;i<4;i++){

        scanf("%d",&a[i]);
        sum=sum+a[i];}
     ave=sum/5;

    printf("\n");

printf("%lf",ave);


}
应该可以了

我来回复

您尚未登录,请登录后再回复。点此登录或注册