Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 模块化程序_C_Module - Fatal编程技术网

C 模块化程序

C 模块化程序,c,module,C,Module,我是编程新手,我必须创建一个模块化的C程序,允许用户输入1到23之间的正数,偶数,并且只接受这些值。它还必须保持一个连续的数字总和,只要总和小于98,就继续要求数字。它还必须跟踪输入的最大和最小数字,显示总和、最小值和最大值,并且必须允许输入新数字 我已经在下面附上了我的程序。我不知道如何计算这些数字的和,或者如何产生最小值和最大值。我一直在尝试使用sum+=I来查找和,并且我一直在尝试使用一个与输入的整数相比较的变量来查找最小值和最大值,但是我无法让它工作 #include <stdio

我是编程新手,我必须创建一个模块化的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();
        }
    }
}
#包括
main()
{
inputNumber();
sumNumber();
smallVsLarge();
moreInput();
}
inputNumber()
{
int i=0;
而(i)23
{
printf(“请输入另一个数字:”);
scanf(“%d”、&i);
}
数字(i);
}
}
sumNumber(int i)
{
整数和=0;
int n;
对于(n=1;n=98)
{
moreInput();
}
}
printf(“您的运行总数为%d.\n”,总和);
小规模(i);
}
smallVsLarge(int i)
{
最小整数,最大整数;
max=0;
最小值=22;
对于(i=0;i最大值)
{
max=i;
}
}
printf(“最小值为%d,最大值为%d.\n”,最小值,最大值);
}
moreInput(整数和)
{
int x;
而(总和>98)
{
printf(“\n\n您已达到最大总和。输入0退出,或输入1重新开始:”;
scanf(“%d”和&x);
如果(x==0)
{
打破
}
else如果(x==1)
{
inputNumber();
}
}
}

您在函数(被调用方)中创建的
内容将在返回到调用位置时被释放,但您显式返回给调用方的内容除外

ANSI C(如果我没记错的话,是C90)也引入了函数声明。例如,如果您计划使用一个函数sum,它将接受一个参数并返回sum,那么您可以在程序开始时为它编写一个原型,如下所示

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

如果您在一开始就这样做,在定义函数的时候,您将清楚地知道如何根据它所使用的参数的数量以及它应该返回什么来定义它。

请格式化您的代码,使其可读。这让我想起了楼梯中的一些最陡峭的步骤。