在主循环外重复输入

时间:2018-10-12 15:08:44

标签: c loops

我遇到的一个问题是需要我根据一定范围内的质数数量打印一条语句。这就是我到目前为止所得到的

#include <stdio.h>

int main(){
    //control
    int j,i,t,n,x,no=0;
    //init
    int num[100],factor,temp; 


    scanf("%d", &t);      //sets up parameter/cases first
    scanf("%d", &num[i]); //the problem


    for(i=0; i<t; i++){
        printf("Case #%d: \n", ++no);
        //printf("%d ", num[i]);
        for(n=0; n<num[i]; ){               
            for(x=1; x<num[i]; x++){
                if(num[i] % x == 0)
                    factor = x;
            }
            if(factor > 1 || num[i] == 1){
            }
            else{
                printf("I will become a good boy\n");
            }
            num[i]--;
        }
    }
    return 0;
}

程序正常运行,但是我需要它让用户输入所有需要的值 THEN 输出语句。我确实将输入语句放入主循环中,尽管最终结果将是:

  

输入输出输入输出

代替

  

输入输入输出输出

1 个答案:

答案 0 :(得分:3)

只需添加一个循环以读取输出循环之前的所有值

for(i=0; i<t; i++){
    scanf("%d", &num[i]);
}