gpt4 book ai didi

c - 模块化程序

转载 作者:行者123 更新时间:2023-11-30 20:36:01 26 4
gpt4 key购买 nike

我是编程新手,我必须创建一个模块化 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();
}
}
}

最佳答案

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

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

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

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

关于c - 模块化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36921364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com