题目内容:
编写函数int isprime(int a);用来判断整数a是否为素数,若是素数,函数返回1,否则返回0。调用该函数找出任意给定的n个整数中的素数。 注意,1不是素数。
输入格式:
一系列待判断的正整数,以空格隔开,以0表示输入结束。
输出格式:
只输出输入的正整数中的素数,顺序和输入一致。数据间以一个英文空格隔开,最后一个数据后没有空格!!! 注意,1不是素数。
输入样例:
9 8 7 210 101 0
输出样例:
7 101
时间限制:500ms内存限制:32000kb
#include<iostream>
using namespace std;
int isprime(int a){//判断是否为素数
int flag=0;
for(int i=2;i<a;i++){
if(a%i==0){
flag =1;
return 0;
}
}
return 1;
}
int main(){
int i;
int a[200];
int k=0;
int b[200];
for(i=0;;i++){//输入部分 i统计输入的个数
cin>>a[i];
if(a[i]==1){//1不是素数,单独处理
i--;
continue;
}
if(a[i]==0){
break;
}
}
for(int j=0;j<i;j++){//k来统计究竟有多少个素数
if(isprime(a[j])==1){
b[k]=a[j];
k++;
}
}
for(int n=0;n<k;n++){//如果是最后一个素数,不输出空格
if(n==k-1){
cout<<b[n];
}else{
cout<<b[n]<<" ";
}
}
return 0;
}