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

C 如何打印代码循环的次数?,c,C,我已经写了一个简单的代码,打印出输入的数字中的所有素数。我想打印出有多少素数被打印出来。我认为它的打印(“%d”,c++);但是我不知道把它放在哪里。我已尝试在返回0之前将其更正;在素数方法的末尾,但它不起作用。素数打印得很好,但计数器不打印 void main(void){ int pri; scan("%d",&pri); prime(pri); } void prime(int n){

我已经写了一个简单的代码,打印出输入的数字中的所有素数。我想打印出有多少素数被打印出来。我认为它的打印(“%d”,c++);但是我不知道把它放在哪里。我已尝试在返回0之前将其更正;在素数方法的末尾,但它不起作用。素数打印得很好,但计数器不打印

    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;


    }  

添加变量
count
,因为
c
不是您的计数。是否找到素数是一个局部测试变量。添加
int count=0在for循环前面,并打印它,而不是在末尾打印
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);
int n=100;//用于复制粘贴目的
int m,i,c,x;
整数计数=0;

对于(m=1;m有很多事情你的程序应该注意,最重要的是它应该先编译,我对此表示高度怀疑。无论如何,下面是一个工作示例,经过修改

#include <stdio.h>

void prime(int ); // prototype

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

void prime(int n)
{
    int m,i,c,count = 0; // your counter

    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 = count + 1;   // keep counting
        }
    }  
    //print("the count is: ");              
    printf("\nthe count is: ");              
    //print("%d",c);        
    printf("%d",count);        
    //  return 0;


}
#包括
空素数(int);//原型
//真空总管(真空){
内部主(空){
int pri;
//扫描(“%d”、&pri);
scanf(“%d”、&pri);
prime(pri);
返回0;
}
空素数(整数n)
{
int m,i,c,count=0;//您的计数器

对于(m=1;m
print
应该是
printf
scan
应该是
scanf
scanf
。编译程序时没有出错吗?你不想
print
是吗?应该是
printf
“计数器不打印”表示您没有看到行
计数为
?然后在数字后打印一个换行符。(同时,查找基本
printf
格式)。将函数拆分为子函数将有助于:
int count=0;例如(int i=0;谢谢!!!成功了!对于noob的问题我很抱歉。我对编程非常陌生。出于某种原因,在SimpleId上,我必须使用print而不是printf…否则它无法正确打印。我的班级正在从这个网站学习。在那个例子中,它使用print而不是printf。
#include <stdio.h>

void prime(int ); // prototype

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

void prime(int n)
{
    int m,i,c,count = 0; // your counter

    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 = count + 1;   // keep counting
        }
    }  
    //print("the count is: ");              
    printf("\nthe count is: ");              
    //print("%d",c);        
    printf("%d",count);        
    //  return 0;


}