2016-04-28 131 views
-2

我是編程新手,我必須創建一個模塊化C程序,它允許用戶輸入1到23之間的正數偶數,並且只接受這些值。它也必須保持數字的運行總和,只要總和小於98就繼續詢問數字。它還必須跟蹤輸入的最大和最小數字,顯示總和和最小值和最大值,並且必須允許要輸入的新號碼。模塊化程序

我在下面附加了我的程序。我不知道如何讓數字的總和工作或如何產生最小值和最大值。我一直在嘗試使用sum += i來查找總和,並且我一直在嘗試使用一個變量與輸入的整數進行比較以找到最小值和最大值,但是我無法使其正常工作。

#include <stdio.h> 

main() 
{ 
    inputNumber(); 
    sumNumber(); 
    smallVsLarge(); 
    moreInput(); 
} 

inputNumber() 
{ 
    int i = 0; 

    while (i <= 22) 
    { 
     printf("\nPlease enter an even number between 1 and 23: "); 
     scanf ("%d", &i); 

     if (i%2==1) 
     { 
      printf ("Please enter another number: "); 
      scanf ("%d", &i); 
     } 
     else if (i < 0) 
     { 
      printf("Please enter another number: "); 
      scanf ("%d", &i); 
     } 
     else if (i > 23) 
     { 
      printf("Please enter another number: "); 
      scanf ("%d", &i); 
     } 

     sumNumber(i); 
    } 
} 

sumNumber(int i) 
{ 
    int sum = 0; 
    int n; 

    for (n = 1; n <= i; n++) 
    { 
     sum = sum + n; 

     if (sum >= 98) 
     { 
      moreInput(); 
     } 
    } 

    printf ("Your running total is %d.\n", sum); 
    smallVsLarge(i); 
} 

smallVsLarge(int i) 
{ 
    int min, max; 
    max = 0; 
    min = 22; 

    for (i = 0 ; i <= 22; i++) 
    { 
     if (i < min) 
     { 
      min = i; 
     } 
     else if (i > max) 
     { 
      max = i; 
     } 
    } 

    printf ("Your smallest value is %d and your largest value is %d.\n", min, max); 
} 


moreInput(int sum) 
{ 
    int x; 

    while (sum > 98) 
    { 
     printf("\n\nYou have reached the maximum sum. Enter 0 to Quit or 1 to Start Over: "); 
     scanf("%d",&x); 

     if(x==0) 
     { 
      break; 
     } 
     else if (x==1) 
     { 
      inputNumber(); 
     } 
    } 
} 
+0

請格式化您的代碼,使其可讀。 –

+0

讓我想起樓梯上最陡峭的臺階。 – randominstanceOfLivingThing

回答

0

stuff你在函數(被叫)創建時,它返回到它被稱爲除非你明確地返回給調用者那裏將被釋放。

另外ANSI C(如果我正確記得C90)引入了函數聲明。例如,如果你計劃有一個功能和將採取一個參數和返回值的總和,你可以寫它的原型在節目的開頭,如下面

int sum(int); 
/* This just says the function sum will take an argument of type integer and 
* it returns an integer. 
*/ 

如果你在開始做這個,在你定義函數的地方,你將清楚地知道如何根據它所需的參數數量以及它返回的內容來定義它。