你好,我是一个初学写c的人,我想知道你将如何写一个代码,提示你给一个正整数,并在你输入0后结束,0之前的数字至少是2个正整数。然后,程序确定最大正整数输入和最小整数输入。
#include <stdio.h>
int main(void)
{
int integer=0, largest_int, smallest_int;
while (integer) {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
if (integer = 0) {
while (integer<=0) {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
if (integer>0) {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
if (integer>0) {
printf("the largest integer is.....and the smallest integer is......");printf("Please enter a positive integer: \n");
break;
}
else {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
}
}
}
}
}
return 0;
}
起初,我试图使用do/while循环,但它根本不起作用。
我还对当循环中有if ese语句时编译器如何读取循环感到困惑。
我是这样想的:我想让“输入正整数”重复询问,直到你输入两个正数。然后我会让程序检查下一个输入是否等于零,如果不等于零;t然后它再次继续循环。如果用户确实输入了至少两个正整数,然后是零,循环中断,我打印出最大的int和最小的int。同样让我困惑的是,你如何能够过滤所有用户的输入并确定这些值,因为我可以100000000000000000000次输入整数,而我怎么知道呢?
#include <stdio.h>
#include <limits.h>
int main(void)
{
int integer, largest_int=INT_MIN, smallest_int=INT_MAX;
do
{
printf("Enter a positive integer: ");
scanf("%d", &integer);
if (integer < 0)
continue;
else if (integer == 0)
break;
else
{
if (integer > largest_int)
largest_int = integer;
if (integer < smallest_int)
smallest_int = integer;
}
} while(1);
printf("Largest integer is %d\nSmallest integer is %d", largest_int, smallest_int);
}
这不是解决方案,而是代码中的一些编码错误:
您的代码不会首先工作,如下所示
int integer=0, largest_int, smallest_int;
while (integer) {
........
}
这里的整数是 0,你给出这个,而这将在第一次检查时出现。
由于这似乎是家庭作业,因此有几点供您思考。
您的 while(整数)
永远不会在您将整数
初始化为零时执行。所以你真正拥有的是 while(0),
循环内的任何内容都不会被执行。你可以用 do { ... } while(condition)
替换它,但我宁愿保留电流循环的那种,并在循环之前添加一个额外的输入读数(原因是初始化变量以获得最大和最小查找 - 见下文)。
添加一个变量,比如< code>NPos来计算最后有多少个条目是正整数。将其初始化为零。每次输入一个数字,如果是正数,则增加< code>NPos的值。否则将其设置为零(如果条目为零,这可能很棘手,也可能意味着停止执行,而不是重置< code>NPos)。当输入的数字为0时,检查< code>NPos是否至少为2,如果是,则停止。
要查找极值,请创建两个变量(max
和min
),并将它们初始化为第一个用户输入。然后,在每个有效输入(即,不是表示执行结束的输入)处,检查该值是否大于max
或小于min
。如果是,请用输入替换max
或min
。
这些是算法中较大的几行。实现由你决定。
最后一点:我不喜欢将一个值命名为< code>integer,但这只是我的情况。
我有一个家庭作业,要求我使用输入对话框要求最终用户输入一个数字,将该字符串解析为int,然后使用确认对话框询问用户是否要输入另一个数字。如果单击“是”,程序将循环,一旦单击“否”,它将获取所有输入的数字,并确定最小值和最大值。如何跟踪所有输入的数字,而不声明多个变量来保存它们(因为从技术上讲,用户可以输入无限数量的数字)? 我对编程很陌生。我一直在搜索我的教科书,我浏览了堆栈溢出来找到我的具体问题
解决了 我想问用户他想输入多少个整数,然后读取所有数字,同时跟踪他们输入的最大和最小数字。然后打印最大和最小数字。 我正在考虑将最大值和最小值设置为第一个输入的数字,然后在for循环中读取下一个数字,并使用更大/更小的数字更改最大值和最低值。但是,它只打印用户输入的第一个数字。有人能帮我吗?非常感谢。 代码:
我正在写一个方法,它接受用户的整数输入,并显示总数、平均值、最大值和最小值。 我有总数和平均工作,但我得到2147483647最大和-2147483648最小。 循环只能在用户输入-1时结束。 我的代码:
问题内容: 我被分配编写一个程序,该程序读取一系列整数输入并打印-输入的最小和最大-以及偶数和奇数输入的数量 我想出了第一部分,但对如何使程序显示最大和最小感到困惑。到目前为止,这是我的代码。我怎样才能显示最小的输入呢? 问题答案: 最简单的解决方案是使用诸如和
我的代码要求用户输入动物物种的值,然后将其显示给他们。我只需要最后添加一个部分,它也会告诉用户最濒危的动物(输入的数字最低)。我已经环顾了一些地方,并使用x进行了triec
以下是任务的具体要求: “首先,启动NetBeans并关闭之前可能打开的所有项目(在顶部菜单“转到文件”)== 然后创建一个名为“MinMax”(不带引号)的新Java应用程序,该应用程序声明一个长度为5的双精度数组,并使用方法使用来自命令行的用户输入填充数组,并打印出数组中的max(最高)和min(最低)值。确定最大值和最小值的方法可能不使用Java中的任何内置排序方法。也就是说,您需要在这些方