【发布时间】:2026-01-19 06:45:01
【问题描述】:
#pragma warning(disable: 4996)
#include<stdio.h>
int main(){
double array1[8] = {0};
double data;
double lg_data=0;
int i = 0, j = 0;
int count = 1;
int lg_count = 1;
printf("7개의 양의 실수를 입력하세요.(마지막 원소는 자동으로 -1이 됩니다.)\n");
for (i = 0; i < 8; i++){
if (i == 7){
array1[i] = -1;
}
else{
scanf("%lf", &array1[i]);
}
}//end of loop
for (i = 0; i < 8; i++){
count = 1;
for (j = 0; j < i; j++){
if (array1[i] == array1[j]){
count++;
if (count >= lg_count){
lg_count = count;
data = array1[i];
if (data >= lg_data){
lg_data = data;
}
}
}
else{
if (array1[i] >= lg_data){
lg_data = array1[i];
lg_count = count;
}
}
}//end of for(j)
}//end of for(i)
printf("%lf %d\n", lg_data, lg_count);
return;
如果有与if (array1[i] == array1[j]) 语句一致的值,我想停止 for 循环,即使仍然有与 else 语句一致的值。我已经尝试将 break 语句放在 if 语句中......但它没有用。
我该如何解决这个问题?
【问题讨论】:
-
你可以使用 GOTO 函数
-
您要停止内循环还是外循环?内循环,使用break,外循环使用break和flags或者goto。
-
您的问题是关于内部还是外部
for循环?break应该可以很好地终止内部for循环。要终止外部,只需在if块中设置一个标志并检查外部for循环中的标志。 -
我想停止外循环。什么是标志?以及如何使用标志或转到?
-
这个线程中有很多解决方案。只是一个提示:由于它是一种糟糕的编程风格,请不要不要使用 goto。
标签: c loops if-statement for-loop