求n个同学成绩平均值用c语言怎么写,用循环,for语句

#include<stdio.h>
void main()
{int i,n;
double M,m,sum,u;
printf("输入需要计算成绩的学生的人数:\n");
scanf("%lf",&m);
for(i=1,m=0.0;i<=n;i++)
{printf("输入学生成绩:\n");
scanf("%lf",&M);
M=M+m,
sum=sum+M;};
u=sum/n;
printf("平均值为%lf\n",u);
}

这是我写的,错了,不会改,目的是要输入n个学生的成绩然后算平均值的,可程序只输入n个学生的人数然后enter就出结果了,当然错了,怎么写啊

#include <stdio.h>

int main(void)

{

int i;

int sum=0;

int num,tmp;

printf("请输入:");

scanf("%d",&num);

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

printf("No.%d:",i+1);

scanf("%d",&tmp);

sum+=tmp;

}

printf("合计值:%d\n",sum);

printf("平均值:%.2f\n",(double)sum/num);

return(0);

}



扩展资料:

用法

for循环可以有多层嵌套。

示例:

#include<stdio.h>

int main(void)

{

int i,j,k;

printf("ijk\n");

for(i=0;i<2;i++) 

for(j=0;j<2;j++) 

for(k=0;k<2;k++)

printf("%d%d%d\n",i,j,k);

return 0;

}

输出结果为: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

参考资料:

百度百科——for循环

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
楼主你好
代码修改如下:
#include<stdio.h>
void main()
{
int i,n;
double M,m,sum=0.0,u;
printf("输入需要计算成绩的学生的人数:\n");
scanf("%d",&n);
for(i=1,m=0.0;i<=n;i++)
{
printf("输入学生成绩:\n");
scanf("%lf",&M);
M=M+m;
sum=sum+M;
};
u=sum/n;
printf("平均值为:%f\n",u);
}

楼主应该能看出自己的错误吧^_^
希望能帮助你哈追问

我把第一个输入的m改成了n,结果还是不对啊,亲麻烦指指明路,到底哪儿错啦?

追答

楼主你好
n是整型数据 输入的时候在scanf函数应该用%d 而不是%lf %lf是读入double型的数据
也就是:scanf("%d",&n);
还有就是sum需要初始化 sum=0.0
楼主仔细参看的我的代码 应该能发现的

楼主满意请加分、采纳哈^_^

本回答被提问者采纳
第2个回答  2019-02-11
你这程序编译能通过吗?跟您说个您最简单的错误,您的M都没初始化赋值.按你的思路应该是这样
#include<stdio.h>
void
main()
{int
i,n;
double
M=0.0,sum=0.0,u;
printf("输入需要计算成绩的学生的人数:\n");
scanf("%lf",&n);
for(i=1;i<=n;i++)
{printf("输入学生成绩:\n");
scanf("%lf",&M);
sum=sum+M;}
u=sum/n;
printf("平均值为%lf\n",u);
}
第3个回答  2012-10-16
你这程序编译能通过吗?跟您说个您最简单的错误,您的M都没初始化赋值.按你的思路应该是这样
#include<stdio.h>
void main()
{int i,n;
double M=0.0,sum=0.0,u;
printf("输入需要计算成绩的学生的人数:\n");
scanf("%lf",&n);
for(i=1;i<=n;i++)
{printf("输入学生成绩:\n");
scanf("%lf",&M);
sum=sum+M;}
u=sum/n;
printf("平均值为%lf\n",u);
}