关于C语言一个简单的问题

来源:百度知道 编辑:UC知道 时间:2024/06/12 11:17:49
for(i=0;i<=count;i++);
{
printf("请输入第%d名学生的成绩:",i+1);
为什么不能
for(i=1;i<=count;i++);
{
printf("请输入第%d名学生的成绩:",i);
正确的
#include <stdio.h>
void main()
{
int i;
int count;
float sco;
float sum=0;
float ave;
printf("请输入学生的人数:");
scanf("%d",&count);

for(i=0;i<=count;i++);
{
printf("请输入第%d名学生的成绩:",i+1);
scanf("%f",&sco);
sum+=sco;
}
ave=sum/count;
printf("平均成绩为%f\n",ave);
}
不能运行的
#include <stdio.h>
void main()
{
int i;
int count;
float sco;
float sum=0;
float ave;
printf("请输入学生的人数:");
scanf("%d",&count);

for(i=1;i<=count;i++);
{
printf("请输入第%d名学生的成绩:",i);
scanf("%f",&sco);
su

你的for()循环后面怎么有个分号呢?
把分号删去之后,第一段程序运行出来是错误的结果,它的循环里面多计算了一次,比如count是3,那么它会让你输入4个数,但在求平均值的时候还会去除3.第二段才是正确的。
#include <stdio.h>
void main()
{
int i;
int count;
float sco;
float sum=0;
float ave;
printf("请输入学生的人数:");
scanf("%d",&count);

for(i=1;i<=count;i++)
{
printf("请输入第%d名学生的成绩:",i);
scanf("%f",&sco);
sum+=sco;
}
ave=sum/count;
printf("平均成绩为%f\n",ave);
}

问题不清楚!!从语法上来说是没有问题的!

第一个:i++和(i+1这里输出i自增1)等于i+2,和第二个i++,(i这里只是单单输i的值)不一样