GOTO语句,用什么代替?
求平均数的案例,自己写的程序,TC下运行通过。也不知道在别的编译器下是否可行。请各位(尤其是雨中飞燕、孔明等),莫记前嫌,一码归一码,帮我看看 。另外书上说GOTO语句尽量少用或者不用,那么这个代码中的GOTO语句可以用什么代替循环呢?各位给出个思路就可以。谢谢各位,在百忙之中帮我解决一下,不胜涕零~
#include<stdio.h>
float zd=0,zx;
float average(float fensu[],int n)
{
int i;
float zf=fensu[i];
zd=zx=fensu[1];
for(i=1;i<=n;i++)
{
zf+=fensu[i];
if(zd<fensu[i])
zd=fensu[i];
if(zx>fensu[i])
zx=fensu[i];
}
return zf/n;
}
int main()
{
float pjf,fensu[1000];
int i,j;
fh:printf("请输入学生的人数:");
scanf("%d",&i);
if(i<=1000)
{
printf("**************************************************\n");
for(j=1;j<=i;j++)
{
printf("请输入第%d个同学的分数:\n",j);
scanf("%f",&fensu[j]);
}
printf("**************************************************\n");
pjf=average(fensu,i);
printf("最大分为%.2f\n 最小分为%.2f\n 平均分为%.2f\n",zd,zx,pjf);
printf("**************************************************\n");
}
else
{
printf("请输入1000以内的数字!");
goto fh;
}
getch();
}
----------------解决方案--------------------------------------------------------
while(1){
printf("请输入学生的人数:");
scanf("%d",&i);
if(i<=1000)
{
printf("**************************************************\n");
for(j=1;j<=i;j++)
{
printf("请输入第%d个同学的分数:\n",j);
scanf("%f",&fensu[j]);
}
printf("**************************************************\n");
pjf=average(fensu,i);
printf("最大分为%.2f\n 最小分为%.2f\n 平均分为%.2f\n",zd,zx,pjf);
printf("**************************************************\n");
break;
}
else
{
printf("请输入1000以内的数字!");
}
}
懒得排版
----------------解决方案--------------------------------------------------------
楼主 无耻
[[it] 本帖最后由 外部三电铃 于 2008-1-30 22:35 编辑 [/it]]
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]外部三电铃[/un] 在 2008-1-30 22:20 的发言:[/bo]
楼主 无耻
楼主 无耻
嘛。。。这个不懂,LS解释一下
----------------解决方案--------------------------------------------------------
......
int i,j;
do
{
printf("请输入学生的人数:");
scanf("%d",&i);
}while(i>1000);
printf("**************************************************\n");
......
当然,这样少了一句提示小于1000的话,可以自己在里面加个if
----------------解决方案--------------------------------------------------------
谢谢飞燕及5楼的哥们,十分感激。对于外部三电铃朋友的评语,偶就收下了,不管它是真实的还是捏造的,有则改之,无则加勉。
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------