如何根据 c 中另一个循环的计数器编写一个循环 n 次的循环
How to write a loop which loops n times based on a counter from another loop in c
我如何编写一个循环 n 次的循环 (L1),其中 n 等于我放在另一个循环 (L2) 中的计数器变量 (Counter)。两个循环都需要依次执行。
L1 循环 n*Counter 次,我的函数转到 L2,再次递增计数器变量。因此,如果再次调用我的函数,L1 现在会再循环一次。
所以我有一个 returns 素数的代码,我想包含一个基于循环的循环,以便它在每次调用函数后打印下一个素数
#include <stdio.h>
int primfaktor();
int main()
{
primefactor(*number*);
primefactor(*number*);
...
}
int primefactor(int num){
static int factor=2,n,counter=0;
n=num;
//Here would be the loop doing:0
(n=n/factor***counter**);
if (factor<=num){
if (num%factor==0){
printf("%d\n",factor);
n=n/factor;
}
else factor++;
**counter++**; // 1.take the value of counter
}
return factor;
}
您可以探索以下一些选项来实现您的目标:
- 为循环计数器使用静态变量
- 为循环计数器使用全局变量
- 将循环计数器作为参数传递
或者您也可以探索使用嵌套循环来改变解决问题的方法
我如何编写一个循环 n 次的循环 (L1),其中 n 等于我放在另一个循环 (L2) 中的计数器变量 (Counter)。两个循环都需要依次执行。
L1 循环 n*Counter 次,我的函数转到 L2,再次递增计数器变量。因此,如果再次调用我的函数,L1 现在会再循环一次。
所以我有一个 returns 素数的代码,我想包含一个基于循环的循环,以便它在每次调用函数后打印下一个素数
#include <stdio.h>
int primfaktor();
int main()
{
primefactor(*number*);
primefactor(*number*);
...
}
int primefactor(int num){
static int factor=2,n,counter=0;
n=num;
//Here would be the loop doing:0
(n=n/factor***counter**);
if (factor<=num){
if (num%factor==0){
printf("%d\n",factor);
n=n/factor;
}
else factor++;
**counter++**; // 1.take the value of counter
}
return factor;
}
您可以探索以下一些选项来实现您的目标:
- 为循环计数器使用静态变量
- 为循环计数器使用全局变量
- 将循环计数器作为参数传递
或者您也可以探索使用嵌套循环来改变解决问题的方法