gpt4 book ai didi

c - 如何打印代码循环的次数?

转载 作者:行者123 更新时间:2023-11-30 21:10:01 32 4
gpt4 key购买 nike

我编写了一个简单的代码,可以打印输入的数字中的所有素数。我想打印打印了多少个素数。我认为它的 print("%d",c++);但我不知道该把它放在哪里。我试过把它放在 return 0 之前;在prime方法结束时,但它不起作用。素数打印得很好,但计数器不打印。

    void main(void){
int pri;
scan("%d",&pri);
prime(pri);
}

void prime(int n){
int m,i,c,x;

for(m = 1;m<=n;m++){
c = 0;
for(i=2;i<=m/2;i++){
if(m%i==0){
c++;
break;
}
}

if(c==0 && m!= 1){
printf("%d ",m);
}
}
print("the count is: ");
print("%d",c);
return 0;


}

如果我输入 100,我希望输出为:

 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 
61 67 71 73 79 83 89 97
The count is 25.

最佳答案

添加变量 count 因为 c 不是您的计数。是否找到素数是一个局部测试变量。在 for 循环前面添加 int count = 0; 并在末尾打印它而不是 c 。在打印单个素数的 if 语句中,添加 count++;

int n = 100; // for copy paste purposes

int m,i,c,x;
int count = 0;

for(m = 1;m<=n;m++){
//c = 0;
for(i=2;i<=m/2;i++){
if(m%i==0){
c++;
break;
}
}

if(c==0 && m!= 1){
printf("%d ",m);
count++;
}
}
printf("\nthe count is: %d\n", count);

关于c - 如何打印代码循环的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32619555/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com