/* 编一个程序,输入某班学员成绩,根据输入计算平均成绩,班级人数要用户输入,
并显示计算结果,,最后询问用户是否继续
*/
#include<stdio.h>
void main()
{
int a,n,sum,y;//n代表输入的人数,a是学号,y平均成绩,sum是输入的成绩
char ch,x;//ch询问是否继续输入,x输入班号
ch = 'y';
while(ch == 'y')
{
ch = ' ';
printf("请输入班号:");
scanf("%d",&x);
a=1;
switch(x)
{
case 1: printf("请输入学员总数:");
scanf("%d",&n);
sum=0;
while(a<=0 && n>0);
{
a=1;
printf("输入学号 %d 的成绩:%d",a,sum);
scanf("%d",&sum);
a++;
}
y=sum/10;
printf("该班学员的平均成绩为:%d",y);
break;
case 2: printf("请输入学员总数:");
scanf("%d",&n);
a=1;
while(a<=n && n>0);
{
printf("输入学号 %d 的成绩:%d",a,sum);
scanf("%d",&sum);
a--;sum=++sum/n;
}
printf("该班学员的平均成绩为:%d",sum);
break;
case 3: printf("请输入学员总数:");
scanf("%d",&n);
a=1;
while(a<=n && n>0);
{
printf("输入学号 %d 的成绩:%d",a,sum);
scanf("%d",&sum);
a--;y=++sum/n;
}
printf("该班学员的平均成绩为:%d",y);
break;
default : printf("输入错误!");
}
printf("是否输入另一个班级的成绩:(y/n)?");
fflush(stdin);
scanf("%c",&ch);
}
}
----------------解决方案--------------------------------------------------------
哪个循环只循环了一次?
----------------解决方案--------------------------------------------------------
case 1: printf("请输入学员总数:");
scanf("%d",&n);
sum=0;
while(a<=0 && n>0);
{
a=1;
printf("输入学号 %d 的成绩:%d",a,sum);
scanf("%d",&sum);
a++;
}
y=sum/10;
printf("该班学员的平均成绩为:%d",y);
break;
这个里面的,只打出一行就没有第二行了,就出来printf("是否输入另一个班级的成绩:(y/n)?");了,不知道条件咋限制了
----------------解决方案--------------------------------------------------------
while(a<=0 && n>0);
=========
delete ';' symbol
----------------解决方案--------------------------------------------------------
没有循环啊 ,不执行循环了
----------------解决方案--------------------------------------------------------
/* 编一个程序,输入某班学员成绩,根据输入计算平均成绩,班级人数要用户输入,
并显示计算结果,,最后询问用户是否继续
*/
#include<stdio.h>
void main()
{
int a,n,sum,b,h,cout,endl;//n代表输入的人数,a是学号,b平均成绩,sum是输入的成绩
char ch,x;//ch询问是否继续输入,x输入班号
ch = 'y';sum=1;
while(ch == 'y')
{
ch = ' ';
printf("请输入班号:");
scanf("%d",&x);
switch(x)
{
case 1:
printf("请输入学员总数:");
scanf("%d",&n);
a=1;
while(a<=n)
{
printf("输入学号 %d 的成绩:",a);
scanf("%d",&b);
a++;sum+=b;
}
h=sum/n;
printf("该班学员的平均成绩为:%d",h);
break;
case 2:
printf("请输入学员总数:");
scanf("%d",&n);
a=1;
while(a<=n)
{
printf("输入学号 %d 的成绩:",a);
scanf("%d",&b);
a++;sum+=b;
}
h=sum/n;
printf("该班学员的平均成绩为:%d",h);
break;
case 3:
printf("请输入学员总数:");
scanf("%d",&n);
a=1;
while(a<=n)
{
printf("输入学号 %d 的成绩:",a);
scanf("%d",&b);
a++;sum+=b;
}
h=sum/n;
printf("该班学员的平均成绩为:%d",h);
break;
default:
printf("输入错误!");
}
printf("是否输入另一个班级的成绩:(y/n)?");
fflush(stdin);
scanf("%c",&ch);
}
}
已解决,谢谢
----------------解决方案--------------------------------------------------------