作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须在给定的 n 个数字中找到第二大的数字,但不使用数组。我决定使用循环,但问题是程序的控制不会达到 else if
loop 条件。我做了一个限制,如果输入 -1
则循环将终止,但输入 -1
后程序完全终止。我只是想知道我的循环或条件有什么问题,还是我做错了?
#include <stdio.h>
int main()
{
int i, j, max1 = 0, max2 = 0;
for (j = 0; j <= 10; j++)
{
scanf("%d", &i);
if (i == -1)
{
break;
}
else if ((i) >= (max1))
{
max2 = max1;
max1 = i;
}
else if ((i) < (max1))
{
if ((i) > (max2))
{
max2 = i;
}
}
else
{
return 0;
}
}
}
最佳答案
for 循环中的 else
部分不是必需的。如果查看第二个 else if
,则可以减少 if 语句的数量。 i
明显小于 max1
,因此您可以只使用嵌套 if 子句的条件。
打印出 max2
就可以了。
#include <stdio.h>
int main()
{
int i, j, max1 = 0, max2 = 0;
for(j = 0; j <= 10; j++)
{
scanf("%d",&i);
if(i == -1)
{
break;
}
else if(i >= max1)
{
max2 = max1;
max1 = i;
}
else if(i > max2)
{
max2 = i;
}
}
printf("%d\n", max2);
return 0;
}
关于c - 在嵌套的 if-else 条件下,C 程序的控制不会进一步进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25885086/
我有这个: const {ops} = getOplogStreamInterpreter(strm); ops.del.subscribe(v => { console.log('delete
我四处搜索,据我所知,POST 表单请求已被限制为 10MB (http://golang.org/src/net/http/request.go#L721)。 如果我要在我的 ServeHTTP 方
我是一名优秀的程序员,十分优秀!