CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

冥思苦想,解决不了,请大家帮小妹一下!!!

楼主yangwyun2000(E=MCC)2005-08-03 19:55:42 在 C/C++ / 新手乐园 提问

#include<iostream.h>  
  #include<iomanip.h>  
  int   fn(int   i,int   j);  
  int   main()  
  {        
          fn(-7,10);  
            fn(-8,10);  
          cout<<endl<<endl;  
          fn(0,20);  
          system("pause");  
     
  }  
        int   fn(int   i,int   j)  
  {        
           
           
          if(i<0   ||   j<=0)  
      goto   end;  
           
          for   (;i<j;i++)  
     
           
          cout<<setfill('*')<<setw(j)<<"*"<<endl;  
           
        end:  
            cout<<"you   have   done   wrong";  
                 
  }          
   
   
        上题我的本意是   仅仅在   if(i<0   ||   j<=0)时,输出           cout<<"you   have   done   wrong";  
      但我上面的做法在     调用   fn(0,20);时   ,也会输出cout<<"you   have   done   wrong";  
  请问如何解决这问题?  
           
  问题点数:20、回复次数:6Top

1 楼doway(john)回复于 2005-08-03 20:03:12 得分 6

if(i<0   ||   j<=0)  
      goto   wrong;  
           
          for   (;i<j;i++)  
          cout<<setfill('*')<<setw(j)<<"*"<<endl;  
          goto   end;  
           
        wrong:  
            cout<<"you   have   done   wrong";  
   
        end:  
  Top

2 楼megaboy(飞天御剑流之杀神一刀斩)回复于 2005-08-03 20:03:15 得分 6

fn的代码应该改为:  
   
  int   fn(int   i,   int   j)  
  {        
          if(i<0   ||   j<=0)   cout<<"you   have   done   wrong";  
          else    
          {        
          for   (;i<j;i++)   cout<<setfill('*')<<setw(j)<<"*"<<endl;  
          }  
          return   0;  
  }          
   
  Top

3 楼llf_hust()回复于 2005-08-03 20:06:12 得分 8

#include<iostream.h>  
  #include<iomanip.h>  
  int   fn(int   i,int   j);  
  int   main()  
  {        
          fn(-7,10);  
          fn(-8,10);  
          cout<<endl<<endl;  
          fn(0,20);  
          system("pause");  
     
  }  
   
  int   fn(int   i,int   j)  
  {        
           
           
          if(i<0   ||   j<=0)  
                        cout<<"you   have   done   wrong";  
          else  
          {  
                for   (;i<j;i++)  
                        cout<<setfill('*')<<setw(j)<<"*"<<endl;  
          }  
  }          
   
   
      /*   这样写吧,最好不要用GOTO语句     */Top

4 楼yanddan(索尔)回复于 2005-08-03 20:34:19 得分 0

哪个老师教的哦,该杀了,不要用gotoTop

5 楼jiangbo1125(江小鱼)回复于 2005-08-03 20:39:31 得分 0

建议最好不要用goto,多说一句还有今后编程时要避免使用递规!  
  Top

6 楼LoveYouJustOneDay(哈哈)回复于 2005-08-03 21:08:30 得分 0

杀了  
  杀了  
  居然gotoTop

相关问题

  • 帮一下小妹吧
  • 帮帮小妹!
  • 帮帮小妹:(
  • 帮帮小妹!
  • 帮帮小妹!!
  • 帮帮小妹~~~
  • 帮帮小妹吧
  • 兄弟们!帮忙看一下!小妹一定多多给分!
  • ETL方面的专家请帮助一下小妹吧,谢谢~
  • 各位大哥帮帮小妹忙吧,问了一下午了,没人理!

关键词

  • fn
  • cout
  • main
  • include

得分解答快速导航

  • 帖主:yangwyun2000
  • doway
  • megaboy
  • llf_hust

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo