| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4872 人关注过本帖
标题:GOTO语句,用什么代替?
只看楼主 加入收藏
菜鸭
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2007-12-9
收藏
 问题点数:0 回复次数:6 
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();
}
搜索更多相关主题的帖子: GOTO 语句 代替 
2008-01-30 22:13
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
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以内的数字!");
}
}

懒得排版
2008-01-30 22:20
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2012
专家分:7306
注 册:2007-12-17
收藏
得分:0 
楼主 无耻

[[it] 本帖最后由 外部三电铃 于 2008-1-30 22:35 编辑 [/it]]
2008-01-30 22:20
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
[bo]以下是引用 [un]外部三电铃[/un] 在 2008-1-30 22:20 的发言:[/bo]

楼主 无耻

嘛。。。这个不懂,LS解释一下
2008-01-30 22:53
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1694
专家分:4282
注 册:2007-12-27
收藏
得分:0 
......
  int i,j;
  do
  {
  printf("请输入学生的人数:");
  scanf("%d",&i);
  }while(i>1000);
  printf("**************************************************\n");
......

当然,这样少了一句提示小于1000的话,可以自己在里面加个if
2008-01-30 23:02
菜鸭
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2007-12-9
收藏
得分:0 
谢谢飞燕及5楼的哥们,十分感激。对于外部三电铃朋友的评语,偶就收下了,不管它是真实的还是捏造的,有则改之,无则加勉。

谈笑声中话天地,清茶浊酒品江湖。
昔日豪杰今安在?中华代有人才出!
2008-01-30 23:05
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-01-31 12:20
快速回复:GOTO语句,用什么代替?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029427 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved