首页 > 解决方案 > for 循环的迭代次数

问题描述

我正在尝试制作一个在数组中查找数字的程序,说明该数字的位置以及 for 循环已执行的次数。我正在努力计算需要找到该数字的次数。像这样的东西:

int main(){
    
    array[]=5,1,3,6,4,5,7,12,8,9,10;
    int i = 0, number;
    int NumberFound = 0;
    
    printf("Enter the number you are looking for: \n");
    scanf_s("%d", &number);
    for (i = 0; i < 11; i++) {
        if (number == data[i]) {
            NumberFound = 1;   //Number was found
                        
            printf("%d was found in the position %d\n", number, i);
            break;
        }
        else {
            NumberFound = 0;
        }
    }
    
    if (NumberFound == 0) {
        printf("%d was not found \n", number);
    }
    
    return 0;
}

我仍然想实现 for 循环已执行的次数。在控制台上应该是这样的:

Enter the number you are looking for:
3
Iteration 1
Iteration 2
3 was found in the position 2

标签: arrayscloopssearchnumbers

解决方案


按照Barmar的建议,i在中断循环之前打印 的值。

if (number == data[i]) {
            NumberFound = 1;   //Number was found
                        
            printf("%d was found in the position %d after %d iterations\n", number, I, i+1);
            break;
        }

推荐阅读