编写程序,实现以下功能: (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
时间: 2023-12-14 11:40:03 浏览: 55
以下是实现该功能的完整程序:
```c++
#include <iostream>
using namespace std;
int issus(int m){
//判定m是否为素数。
if(m<=1){
return 0;
}
for(int i=2;i*i<=m;i++){
if(m%i==0){
return 0;
}
}
return 1;
}
int main(){
int n,m=0,num;
cin>>n;
for(int i=1;i<=n;i++){
cin>>num;
if(issus(num)){
cout<<num<<" ";
m++;
}
}
if(m==0){
cout<<"No";
}
else{
cout<<endl<<m;
}
return 0;
}
```
运行示例:
输入:
```
5
19 93 11 37 15
```
输出:
```
19 11 37
3
```
解释:
输入的第一个数字5表示接下来会输入5个数字。数字19、93、11、37、15分别表示输入的这5个数字。在这5个数字中,19、11、37是素数,因此输出它们。最后统计出素数的个数为3。
相关问题
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。
阅读全文