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

请看看这个30行的小程序里面有什么错误啊!谢谢 急用

楼主jy00057800(cc)2005-06-02 20:23:50 在 C/C++ / C语言 提问

#include   "Stdio.h"  
  #include   "Conio.h"  
   
  int   main(void)  
  {  
          long   m,n;  
          double   c;  
   
   
          while(1)  
          {  
                  printf("%s","input   number   m:");  
                  scanf("%ld",&m);  
                  printf("%s","input   number   n(n>m):");  
                  scanf("%ld",&n);  
                  printf("%s%ld%s%ld","you   input   number   m=",m,",n=",n);  
                  if(m>n)  
                  {  
                          printf("%s","you   input   number   must   n>m\n");  
                          continue;  
                  }  
                  c=factorial(m,n);  
                  printf("%s%lf%s","c=",c,"\n");  
   
   
          }  
  }  
  double   factorial(long   m,long   n)  
  {  
          long   mc=1,nc=1,nmc=1;  
          long   i=1;  
          double   c;  
          for(;i<=m;i++)  
          mc=mc*i;  
          i=1;  
          for(;i<=n;i++)  
          nc=nc*i;  
          i=1;  
          for(;i<=(n-m);i++)  
          nmc=nmc*i;  
          c=nc/((mc*nmc)*1.0);  
          return   c;  
  } 问题点数:10、回复次数:10Top

1 楼lbing7(向青润老大学习!!!)回复于 2005-06-02 20:30:59 得分 0

printf("%s","input   number   n(n>m):");  
   
  不用这样写  
  printf("input   number   n(n>m):");  
  足了Top

2 楼wohenmimang(wohen迷茫)回复于 2005-06-02 20:31:04 得分 1

太难啦,我是刚学这东西不久,看不懂。Top

3 楼lbing7(向青润老大学习!!!)回复于 2005-06-02 20:32:32 得分 1

有个问题就是你的while(1){}没有退出条件Top

4 楼foochow(无聊,灌水......)回复于 2005-06-02 20:33:01 得分 2

#include   "Stdio.h"  
  #include   "Conio.h"  
  double   factorial(long   m,long   n);//忘了这里-_-  
  int   main(void)  
  {  
          long   m,n;  
          double   c;  
   
   
          while(1)  
          {  
                  printf("%s","input   number   m:");  
                  scanf("%ld",&m);  
                  printf("%s","input   number   n(n>m):");  
                  scanf("%ld",&n);  
                  printf("%s%ld%s%ld","you   input   number   m=",m,",n=",n);  
                  if(m>n)  
                  {  
                          printf("%s","you   input   number   must   n>m\n");  
                          continue;  
                  }  
                  c=factorial(m,n);  
                  printf("%s%lf%s","c=",c,"\n");  
   
   
          }  
  }  
  double   factorial(long   m,long   n)  
  {  
          long   mc=1,nc=1,nmc=1;  
          long   i=1;  
          double   c;  
          for(;i<=m;i++)  
          mc=mc*i;  
          i=1;  
          for(;i<=n;i++)  
          nc=nc*i;  
          i=1;  
          for(;i<=(n-m);i++)  
          nmc=nmc*i;  
          c=nc/((mc*nmc)*1.0);  
          return   c;  
  }  
  Top

5 楼sunman1982(冥王星)回复于 2005-06-02 20:33:20 得分 2

#include   "Stdio.h"  
  #include   "Conio.h"  
   
  double   factorial(long   m,long   n)//*******  
  {  
          long   mc=1,nc=1,nmc=1;  
          long   i=1;  
          double   c;  
          for(;i<=m;i++)  
          mc=mc*i;  
          i=1;  
          for(;i<=n;i++)  
          nc=nc*i;  
          i=1;  
          for(;i<=(n-m);i++)  
          nmc=nmc*i;  
          c=nc/((mc*nmc)*1.0);  
          return   c;  
  }//**********8  
   
   
  int   main(void)  
  {  
          long   m,n;  
          double   c;  
   
   
          while(1)  
          {  
                  printf("%s","input   number   m:");  
                  scanf("%ld",&m);  
                  printf("%s","input   number   n(n>m):");  
                  scanf("%ld",&n);  
                  printf("%s%ld%s%ld","you   input   number   m=",m,",n=",n);  
                  if(m>n)  
                  {  
                          printf("%s","you   input   number   must   n>m\n");  
                          continue;  
                  }  
                  c=factorial(m,n);  
                  printf("%s%lf%s","c=",c,"\n");  
   
   
          }  
  }  
   
   
  ok   运行良好Top

6 楼cosio()回复于 2005-06-02 20:36:29 得分 2

#include   "Stdio.h"  
  #include   "Conio.h"  
   
  int   main(void)  
  {  
          long   m,n;  
          double   c;  
   
   
          while(1)  
          {  
                  printf("%s","input   number   m:");  
                  scanf("%ld",&m);  
                  printf("%s","input   number   n(n>m):");  
                  scanf("%ld",&n);  
  printf("%s%ld","you   input   number   m=",m);  
  printf("\n");  
  printf("%s%ld","you   input   number   n=",n);  
  printf("\n");  
                  if(m>n)  
                  {  
          printf("%s","you   must   input   number   *****   n   >   m   *****     \n");  
          break;  
                  }  
  c=fact(m,n);  
  printf("\n");  
                  printf("%s%lf%s","c=",c,"\n");  
   
   
          }  
  }  
  fact(long   m,long   n)  
  {  
          long   mc=1,nc=1,nmc=1;  
          long   i=1;  
          double   c;  
          for(;i<=m;i++)  
          mc=mc*i;  
          i=1;  
          for(;i<=n;i++)  
          nc=nc*i;  
          i=1;  
          for(;i<=(n-m);i++)  
          nmc=nmc*i;  
          c=nc/((mc*nmc)*1.0);  
          return   c;  
  }  
  Top

7 楼tian_su(问天(渺小得惶恐))回复于 2005-06-02 20:37:11 得分 2

在你的主函数main()之前,  
  加个factorial()函数的声明,  
  double   factorial(long   ,long   );  
   
  int   main(void)  
  {  
  ......  
  }  
  就OK了Top

8 楼jy00057800(cc)回复于 2005-06-02 20:38:13 得分 0

那里的问题啊   看拉半天没看出来Top

9 楼jy00057800(cc)回复于 2005-06-02 20:40:07 得分 0

哦   知道拉   ,我忘记拉   ,学拉java   都忘记拉   谢谢大家Top

10 楼jy00057800(cc)回复于 2005-06-02 20:41:45 得分 0

但是我这个程序怎么   可以把主函数写再前面,不用声明啊  
  #include   "Stdio.h"  
  #include   "Conio.h"  
   
  int   main(void)  
  {  
          char   ch;  
          int   x;  
          while(1)  
          {       scanf("%c",&ch);  
                  x=isdigital(ch);  
                  if(x==1)  
                  printf("%s","you   input   a   digital   char\n");  
                  if(x==-1)  
                  printf("%s","you   input   is   not   digital   char\n");  
          }  
  }  
  int   isdigital(char   ch)  
  {  
        if(ch>=97&&ch<=122)  
        return   1;  
        else  
        if(ch==10)  
        return   0;  
        else  
        return   -1;  
  }Top

相关问题

  • 帮我编个小程序~~~~~~~~急用 !!!!!!!
  • 小程序为什么会执行错误~~ 新手, 大家多指教
  • 一段小程序,帮忙挑错误。
  • 如何写 php上传下载的小程序急用!
  • 大家帮忙做个小程序吧~~急用
  • 很小程序,不知怎么运行!
  • 一个小程序的大错误:大家来捉虫
  • 一个console app 的小程序,链接错误,大虾请进
  • 看看这个小程序错误在哪里,多谢了!!
  • 帮我看一下这个小程序有什么错误?

关键词

  • ld
  • printf
  • nmc
  • input number
  • lf
  • scanf
  • long
  • factorial
  • nc
  • double

得分解答快速导航

  • 帖主:jy00057800
  • wohenmimang
  • lbing7
  • foochow
  • sunman1982
  • cosio
  • tian_su

相关链接

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

广告也精彩

反馈

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