C语言
下面那两段代码哪里错了,为什么执行会报错?#include<stdio.h>
bool Isprime(int m)
{
int j;
for(j = 2; j < m; j++)
{
if(m % j == 0)
{
break;
}
}
if(m == j)
{
return ture;
}
}
int main()
{
int i,num;
printf("请输入一个数字:");
scanf("%d",&num);
for(i = 2; i<=num; i++)
if(Isprime(i))
{
printf("%d是素数\n",i);
}
return 0;
}
bool IsPrime(int val)
{
int i;
for(i = 2; i<val; ++i)
{
if(0 == val % i)
{
break;
}
}
if(i == val)
return true;
else
return false;
}
int main()
{
int val;
int i;
scanf("%d",&val);
if(IsPrime(val))
printf("Yes!\n");
else
printf("No!\n");
} 是不是没加头文件
#include <stdbool.h> 第一个:
#include<stdio.h>
#include <stdbool.h>
bool Isprime(int m)
{
int j;
for(j = 2; j < m; j++)
{
if(m % j == 0)
{
break;
}
}
if(m == j)
{
return true;
}
}
int main()
{
int i,num;
printf("请输入一个数字:");
scanf("%d",&num);
for(i = 2; i<=num; i++)
if(Isprime(i))
{
printf("%d是素数\n",i);
}
return 0;
}
true拼写错误,逻辑你自己改吧
第二个:
#include <stdio.h>
#include <stdbool.h>
bool IsPrime(int val)
{
int i;
for(i = 2; i<val; ++i)
{
if(0 == val % i)
{
break;
}
}
if(i == val)
return true;
else
return false;
}
int main()
{
int val;
int i;
scanf("%d",&val);
if(IsPrime(val))
printf("Yes!\n");
else
printf("No!\n");
}
bool只有stdbool.h这个头文件里有,
要先导入 本帖最后由 --_--|| 于 2020-3-18 16:31 编辑
#include<stdio.h>
#include<stdbool.h>//需要声明布尔类型
bool Isprime(int m)
{
int j;
for(j = 2; j < m; j++)
{
if(m % j == 0)
{
break;
}
}
if(m == j)
{
return true;//单词拼错了
}
}
int main()
{
int i,num;
printf("请输入一个数字:");
scanf("%d",&num);
for(i = 2; i<=num; i++)
if(Isprime(i))
{
printf("%d是素数\n",i);
}
return 0;
}
#include<stdio.h>
bool Isprime(int m)
{
int j;
for(j=2;j<m;j++)
{
if(m%j==0)
return 0;
}
return 1;
}
int main()
{
int i,num;
printf("请输入一个数字:");
scanf("%d",&num);
for(i=2;i<=num;i++)
if(Isprime(i)==1)
{
printf("%d是素数\n",i);
}
return 0;
}
页:
[1]