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