编写程序,实现以下功能: (1)输入n和n个大于1的正整数; (2)判断并输出其中的素数; (3)统计并输出素数的个数m;若不存在素数则输出“No”。 要求素数的判定用函数issus实现,其它功能在主函数中实现,issus的结构如下: int issus(int m) { //判定m是否为素数。 } 运行示例:(要求输入输出按运行示例格式实现) 输入:5 19 93 11 37 15 输出:19 11 37 3
时间: 2024-02-09 21:09:49 浏览: 58
以下是实现该功能的C++代码:
```
#include <iostream>
using namespace std;
// 判断m是否为素数
int issus(int m) {
if (m <= 1) return 0;
for (int i = 2; i <= m/2; i++) {
if (m % i == 0) return 0;
}
return 1;
}
int main() {
int n, m = 0;
cin >> n;
int nums[n];
for (int i = 0; i < n; i++) {
cin >> nums[i];
if (issus(nums[i])) m++;
}
if (m == 0) {
cout << "No";
return 0;
}
for (int i = 0; i < n; i++) {
if (issus(nums[i])) {
cout << nums[i] << " ";
}
}
cout << endl << m;
return 0;
}
```
输入格式为第一行一个正整数n,表示接下来有n个数。接下来n行每行一个大于1的正整数。输出格式为一行若干个素数,中间用空格隔开,最后一行输出素数的个数m。若不存在素数,则输出"No"。
相关问题
c语言编写程序,实现以下功能: (1)输入n和n个大于1的正整数; (2)判断并输出其中的素数; (3)统计并输出素数的个数m;若不存在素数则输出“No”。 要求素数的判定用函数issus实现,其它功能在主函数中实现,issus的结构如下: int issus(int m) { //判定m是否为素数。 } 运行示例:(要求输入输出按运行示例格式实现) 输入:5 19 93 11 37 15 输出:19 11 37 3
以下是实现功能的C语言程序:
``` c
#include <stdio.h>
int issus(int m) {
int i;
for (i = 2; i < m; i++) {
if (m % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, i, m = 0;
int a[100];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] <= 1) {
printf("输入的数必须大于1!\n");
return 0;
}
if (issus(a[i])) {
printf("%d ", a[i]);
m++;
}
}
if (m == 0) {
printf("No\n");
} else {
printf("\n%d\n", m);
}
return 0;
}
```
程序中,issus函数用于判断一个数是否为素数,其原理是从2到该数之间的所有数进行整除判断,如果存在可以整除该数的数,则该数不是素数,否则是素数。
在主函数中,首先输入n和n个大于1的正整数,然后依次判断每个数是否为素数,同时统计素数的个数。如果不存在素数,则输出"No",否则输出素数的个数m。
用C语言编写程序,实现以下功能: (1)输入n和n个大于1的正整数; (2)判断并输出其中的素数; (3)统计并输出素数的个数m;若不存在素数则输出“No”。 要求素数的判定用函数issus实现,其它功能在主函数中实现,issus的结构如下: int issus(int m) { //判定m是否为素数。 } 运行示例:(要求输入输出按运行示例格式实现) 输入:5 19 93 11 37 15 输出:19 11 37 3
以下是实现要求的C语言代码:
```c
#include <stdio.h>
int issus(int m);
int main()
{
int n, i, num, m = 0;
scanf("%d", &n);
for(i = 0; i < n; i++)
{
scanf("%d", &num);
if(issus(num))
{
printf("%d ", num);
m++;
}
}
if(m == 0)
printf("No");
else
printf("%d", m);
return 0;
}
int issus(int m)
{
int i;
if(m == 2 || m == 3)
return 1;
if(m == 1 || m % 2 == 0)
return 0;
for(i = 3; i * i <= m; i += 2)
{
if(m % i == 0)
return 0;
}
return 1;
}
```
注释:
1. 定义了函数issus,用于判断一个数是否为素数。
2. 主函数中,先输入正整数的个数n,然后循环输入n个正整数,并用issus函数判断是否为素数。如果是素数,输出该数并将素数个数m加1。
3. 循环结束后,判断素数个数是否为0,若为0则输出“No”,否则输出素数个数m。
阅读全文