以数组的形式输出200以内的素数
时间: 2024-05-08 07:07:48 浏览: 48
好的,以下是以数组形式输出200以内的素数:
[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, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
相关问题
以数组的形式输出200以内的素数的C语言源代码
以下是输出200以内的素数的C语言代码:
#include <stdio.h>
#define SIZE 200
int main() {
int i, j, is_prime;
int primes[SIZE];
int count = 0;
// 将2加入素数数组
primes[count++] = 2;
// 循环判断3~200之间的奇数是否为素数
for (i = 3; i <= 200; i += 2) {
is_prime = 1;
// 判断i是否为素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
// 如果i是素数,则加入素数数组
if (is_prime) {
primes[count++] = i;
}
}
// 输出素数数组
for (i = 0; i < count; i++) {
printf("%d ", primes[i]);
}
printf("\n");
return 0;
}
在数据结构中:用C语言求 100 以内的素数。 要求: (1)以十进制输出这些素数,每行 10 个,每输出一个素数都要有数秒的停顿,且每输出一个素数,在原素数显示区内消失。 (2)统计这些素数的个数,以十进制形式输出。 (3)计算这些素数之和,以十进制形式输出,并让该和闪烁 3 次。 (4)数据的输入和结果的输出都要有必要的提示,且提示独占一行。 (5)要使用到子程序。
好的,这里是用C语言实现的代码:
```c
#include <stdio.h>
#include <conio.h>
#include <windows.h>
// 求素数
int* get_prime() {
static int primes[30];
int prime[101];
for (int i = 0; i <= 100; i++) {
prime[i] = 1;
}
prime[0] = prime[1] = 0;
for (int i = 2; i < 10; i++) {
if (prime[i]) {
for (int j = i * i; j <= 100; j += i) {
prime[j] = 0;
}
}
}
int count = 0;
for (int i = 2; i <= 100; i++) {
if (prime[i]) {
primes[count++] = i;
}
}
primes[count] = -1; // 用-1表示素数数组的结尾
return primes;
}
// 输出素数
void print_primes(int* primes) {
system("cls"); // 清空屏幕
int count = 0;
for (int i = 0; primes[i] != -1; i++) {
count++;
printf("%d ", primes[i]);
if (count % 10 == 0) {
printf("\n");
}
Sleep(1000); // 停顿一秒
system("cls"); // 清空屏幕
}
}
// 统计素数个数和求和
void count_sum(int* primes, int* count, int* s) {
*count = 0;
*s = 0;
for (int i = 0; primes[i] != -1; i++) {
*count += 1;
*s += primes[i];
}
}
// 让素数之和闪烁三次
void blink_sum(int s) {
printf("\n素数之和为:%d", s);
for (int i = 0; i < 3; i++) {
Sleep(500);
system("cls");
Sleep(500);
printf("\n素数之和为:%d", s);
}
}
// 主程序
int main() {
printf("欢迎使用求100以内素数程序!\n");
printf("按任意键开始...");
getch();
int* primes = get_prime();
printf("\n100以内的素数为:\n");
print_primes(primes);
int count, s;
count_sum(primes, &count, &s);
printf("\n100以内的素数个数为:%d", count);
blink_sum(s);
printf("\n程序结束,感谢使用!");
return 0;
}
```
运行程序后,可以看到程序会提示用户按任意键开始。然后,程序会先求出100以内的素数,并在屏幕上输出每个素数,每个素数输出后会停顿一秒,并且在屏幕上消失。
输出素数之后,程序会统计素数的个数和素数的和,并在屏幕上输出。素数的和会闪烁三次,最后程序会输出结束语并退出。
阅读全文