佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 898|回复: 2

C 程序的问题

[复制链接]
发表于 27-11-2005 08:51 PM | 显示全部楼层 |阅读模式
问题。。。。 无法进入 Calculation... 高手们帮忙看一看

p/s: 红色部分:




#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>

long int factorial(int n);   // prototype
void factorial_calculator (void) ; // prototype
void binomial (void); //prototype
long int ncr( int n , int r ); //phototype

main(void){ //start main
           
           int choice ;
           char end = 'Y';
           
           printf("Hi, welcome to binomial equation calculator\n\n");
           
           
           while ( choice != 1 || choice != 2 ){
           printf(
           "Select a choice\n"
           " 1) = factoria calculator\n"
           " 2) = binomial expression\n\n"
           "choice = ");
           scanf("%d" , &choice);
           
           switch(choice){ //start switch
                          
           case 1:
                factorial_calculator();
                break;
               
           case 2: // leave blank 1st
                binomial();
                break;
               
           default:
                   printf("Invalid Input - Please try again\n\n");
                  
           } // end while
           } // end switch
           
         
           
           
        
}// end main
           
void factorial_calculator (void) {
     
     int n;
     
     printf(
     "Enter number Of a "
     "a! = ");
     scanf("%d" , &n ) ;
     printf("%d! = %d\n\n" , n , factorial(n));
     
     
     }// end factorial calculator
     
long int factorial (int n) {
     
     if (n == 1)
        return(1) ;
        
     else
          return( n * factorial(n - 1 ));
         
     } // end factorial
     
void binomial (void) {
     
     /* binomial variable*/
     
     int choice = 0 , n , count = 0;
     float a , b;
     double x , y , z;
     
     /*end variable*/
     
     while ( choice != 1 || choice != 2 ) { //while 1
     printf(
     "\n\nWhich case?\n"
     "1) (a+bX)^n\n"
     "2) (aX+b)^n\n"
     "case = "); //end printf
     
     scanf("%d", &choice);
     printf("\n");
     
     switch (choice) { //switch 1
     
     case 1:
         
          printf(
          "(a+bX)^n\n"
          "a = "); //end printf
         
          scanf(" %f", &a);
         
          printf("b = ");
          scanf(" %f" ,&b);
         
          printf("n = ");
          scanf(" %d" ,&n);
         
          for (count = 0 ;count <= n; ++count ) { // for
         
          //calculation
         
          x = pow(a , (n - count) );
          y = pow(b , count );
          z = ncr(n , count);
         
               
                if (count < n )  printf("%dX^5d + " ,x * y * z , count );
                else if (count == n ) printf("%dX^5d ", x * y * z , count );
         
               
                } // end for
          break;
               

          case 2:
               
               printf(
          "(aX+b)^n\n"
          "a = "); //end printf
         
          scanf(" %f", &a);
         
          printf("b = ");
          scanf(" %f" ,&b);
         
          printf("n = ");
          scanf(" %d" ,&n);
            
                     
          while (count <= n)  {
               
          x = pow(a , (n - count));
          y = pow(b , count );
          z = ncr(n , count);
               
                if (count < n )  printf("%dX^%d + " ,z * x * y , count );
                else if (count == n ) printf("%dX^%d " ,z * x * y , count );
         
                count++ ;
                } // end for
          break;
               
   
          default:
                  
                  printf("invalid input - Please Try Again\n\n");
                  
                  } // end switch 1
                  } // end while 1
         
          return;} // end main
               
     
long int ncr( int n , int r ) {
     
     long int a , b , c;
     
     
     a = factorial(n) ;
     b = factorial( n - r ) * factorial(r);

     c = a / b ;
     
     return(c); }

[ 本帖最后由 onlylonly 于 28-11-2005 08:02 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 27-11-2005 10:25 PM | 显示全部楼层
拜托,请写上compile error msg..

一开始,已经开始有问题了..

main(void){ //start main
           
           int choice; -> int choice = 0;
           ..           
           while ( choice != 1 || choice != 2 ){
回复

使用道具 举报

 楼主| 发表于 28-11-2005 08:00 PM | 显示全部楼层
complier 没有 error, 只不过无法进入 Calculation 部分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 21-9-2024 04:33 PM , Processed in 0.139348 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表