c语言求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。
时间: 2023-06-13 17:06:15 浏览: 55
以下是代码实现:
```c
#include <stdio.h>
int prime(int m);
int main()
{
int count = 0;
for (int i = 2; i <= 100; i++) {
if (prime(i)) {
printf("%d\t", i);
count++;
if (count % 10 == 0) {
printf("\n");
}
}
}
return 0;
}
int prime(int m)
{
if (m < 2) {
return 0;
}
for (int i = 2; i * i <= m; i++) {
if (m % i == 0) {
return 0;
}
}
return 1;
}
```
首先定义了一个函数 `prime` 判断一个数是否为素数,然后在 `main` 函数中循环判断 2 到 100 的整数是否为素数,如果是,则输出并计数,每行输出10个,最后返回0。
相关问题
C语言编写程序:100以内的素数。题目内容:求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。
好的,以下是C语言的程序实现:
```
#include <stdio.h>
int prime(int m) {
int i;
for (i = 2; i <= m / 2; i++) {
if (m % i == 0) {
return 0; // 不是素数,返回0
}
}
return 1; // 是素数,返回1
}
int main() {
int count = 0, i;
for (i = 2; i <= 100; i++) {
if (prime(i)) {
printf("%d ", i);
count++;
if (count % 10 == 0) { // 每行输出10个
printf("\n");
}
}
}
return 0;
}
```
首先定义了一个判断素数的函数prime(m),在主函数中循环判断每个数是否为素数,并在符合条件的情况下输出并计数,每输出10个换行。
C语言代码 判断100-200之间的全部素数并输出,每行输出10个。素数定义:只能被1和自身整除的正整数,1不是素数,2是素数。
在C语言中,我们可以使用一个经典的算法——埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出给定范围内的所有素数。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
#define MAX_PRIME 200
// 判断是否为素数
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// 输出10个连续的素数
void print_primes(int start, int limit) {
for (int i = start; i <= limit && i <= MAX_PRIME; i++) {
if (is_prime(i)) {
printf("%d ", i);
// 如果已经打印了10个素数,换行
if ((i - start + 1) % 10 == 0)
printf("\n");
}
}
printf("\n"); // 打印完最后一个数后添加换行符
}
int main() {
print_primes(101, 200); // 开始从101开始,因为100不是素数,101是第一个
return 0;
}
```
这段代码首先定义了一个判断素数的函数`is_prime()`,然后使用`print_primes()`函数按照10个一组的方式输出100到200之间的素数。注意,因为题目要求的是100到200之间,我们从101开始查找,因为100不是素数,而200正好包含10个素数(101, 103, ..., 199)。
阅读全文