芝士很芒 2021-11-25 16:23 采纳率: 66.7%
浏览 53
已结题

SOS 改了好久但运行不出正确结果,捞捞 C++

编写程序将数组a和数组b中的素数合并到数组c中,然后对数组c中的数据,按从小到大顺序重新排列后输出。以此例子编写程序:
intaf5]={19,24,40,37,11},b[5]={3,17,9,7,20},c[10]={0};
要求:
1)编写一个判断素数的函数;
2)编写一个排序的函数;
(3)在主函数中调用上述两个函数实现题目要求。

```
曰#include<iostream>
#include
using namespace std:
//定义一个冒泡函数对数组c中数据升序排列
void  bubbleSort (int c, int len)
for(int i=0;i<len-1:i++){
for(int j=0;j<len-i-1;j++){
if(c[j]>c[j+1]){
int temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;
int main(){
int a=[5]={19,24,40,37,11},b[5]={3,17,9,7,20};
//判断数组a中素数并将其放进c中
vectorc;
for(int i=0;i<sizeof(a)/sizeof(a[0]);i++){
for(int i=2;i<=a[i];i++){
if(a[i]%j==0){
break;
if(i=a[i]){
c. push _ back(a[i]);
break;
}
else{
continue;
}
//判断数组b中素数并将其放进c中
for(int i=0;i<sizeof(b)/sizeof(b[0]);i++){
for(int j=2;j<=b[i];j++){
if(b[i]%j==0){
break;
if(j=b[i]){
c. push _ back(b[i]);
break;
}
else{
continue;
}
int len=sizeof(c)/sizeof(c[0]);
//对数组c中数据升序排列
void  bubbleSort (int c[ ], int len);
//将升序排序数组打印
void print(int c[ ], int len);{
for(int i=0;i<len;i++){
cout<<c[i]<<endl;
}

  • 写回答

1条回答 默认 最新

  • 南城Flipped 2021-11-25 16:42
    关注
    
     #include<iostream>
     using namespace std;
     #include<math.h>
     int isPrime(int n){
         int i = 0;
         if(n<2) return 0; 
         for(i =2;i<=sqrt(n);i++){
             if(n%i==0) return 0;
        }
        if(i>sqrt(n)) return 1;
     }
     void sort(int d[],int index){
         int temp;
         for(int i = 0;i<index-1;i++){
             for(int j=i+1;j<index;j++){
                 if(d[i]>d[j]){
                     temp = d[i];
                     d[i] = d[j];
                     d[j] = temp;
                 }
            }
        }
     }
     int main(){
         int a[5]={19,24,40,37,11},b[5]={3,17,9,7,20},c[10]={0};
         int index = 0;
         for(int i=0;i<5;i++){
             if(isPrime(a[i])==1){
                 c[index] = a[i];
                index++;
            }
        }
        for(int i=0;i<5;i++){
             if(isPrime(b[i])==1){
                 c[index] = b[i];
                index++;
            }
        }
         for(int i=0;i<index;i++){
             printf("%d\t",c[i]);
        }
         printf("\n");
        sort(c,index);
         for(int i=0;i<index;i++){
             printf("%d\t",c[i]);
        }
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 修改了问题 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含