C++考查课试题,急用,谢谢了

 

如有帮助,望采纳。点击我回答右上角【采纳】按钮。

#include<iostream>
#include <stdio.h>
#include <string.h>
#include<math.h>
using namespace std;
#define  N 20
int pri[N];
int flag=0;//判断有无素数 无则返回1,有则返回0
int count=0;//素数个数
void  prime(int ar[],int n);
main()
{
  int a[N];
  int i,j,temp;
  cout<<"请输入20个整数:"<<endl;
  for(i=0; i<N; i++)
	  scanf("%d",&a[i]);
   prime(a,N);

  for(i=0; i<count; i++)
	  for(j=i+1;j<count;j++)
	  if(pri[i]<pri[j])
	  {
         temp = pri[i];
	    pri[i] = pri[j];
		pri[j] =temp;
	  }
	if(flag == 1)
	{
	  cout<<"排序后输出:"<<endl;
	  for(i=0; i<count; i++)
          cout<<pri[i]<<endl;
	}
  return 0;
}
void prime(int ar[],int n){
   int i,j,m;
   for(i=0; i<n; i++){
	m=(int)(sqrt(ar[i])+1);
    for(j=2; j<=m;j++)
	   if(ar[i]%j == 0)
		   break;
	   if(j>m){
		   flag=1;
		   pri[count++]=ar[i]; 
	   } 
   }
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632