| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6595 人关注过本帖
标题:C++,一维数组。求高手前辈指点。
只看楼主 加入收藏
gk2017111308
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-5-9
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
C++,一维数组。求高手前辈指点。
1.设有一个double型维数组a,长度为N(注意N值应满足以下操作需求)。建立该数组,并完成以下任务:
(1)键盘输入15个实型数据存入数组a中,并按照每行输出5个的格式,输出该数组;
(2)计算a中元素的平均值,并将它存储在a中有效范围的末位(即a中已有15个有效元素,所以,该平均值应该被存入a[15]中。提示:数组长度不应小于16);
(3)调整a数组中前15个元素的位置,即存放平均值的元素a[15]保持不动。调整规则是:元素值低于平均值的放在后部、高于平均值的放在前部(相关算法参考案例4.1问题拓展①);
输出调整以后的a数组。
1的问题主要在于(3)中调整数组中的数据的前后顺序,使之满足大于平均数的数在前面,小于平均数的在后面。


2.建立两个int型的一维数组,分别起名为a和b,并完成以下任务:
(1)编制一个判定某数是否为素数的子函数prime(参见3.17验证哥德巴赫猜想);
(2)键盘输入10个数据(这些数中有奇数、也有偶数)存入数组a中;
(3)输出a数组中的最大值和下标,以及输出其最小值和下标;
(4)通过调用子函数prime,找出数组a中所有的素数,并存入数组b中;
(5)反向(即从后/bn-1到前/b0)输出b中元素,数据域宽为10。
2的问题是如何求数组a中的素数,并保存到数组b中,这个子函数该怎么定义?怎么调用?下面的是我写的代码,希望前辈高手帮我改一下,万分感谢。
#include<iostream>
using namespace std;
int prime(int n)
{    int i,j;
    for(i=0;i<10;i++)
    {for(j=2;j<a[i];j++)
    {if(a[i]%j==0)
            break;
        if(a[i]==j)
        b[i]=a[i];}}}
void main()
{cout<<"龚科2017111308"<<endl;
int a[10],b[10],max_num=0,min_num=0,i;
 cout<<"请输入10个整数:"<<endl;
 for(i=0;i<10;i++)
 {cin>>a[i];}
 {for(i=0;i<10;i++)
 if(a[i]>a[max_num])
 max_num=i;
 else if(a[i]<a[min_num])
     min_num=i;}
 cout<<"a数组中最大值为:"<<a[max_num]<<"  ";
 cout<<"其下标为:"<<max_num<<endl;
 cout<<"a数组中最小值为:"<<a[min_num]<<"  ";
 cout<<"其下标为:"<<min_num<<endl;
 for(i=6;i>=0;i--)
     cout<<b[i]<<endl;
system("pause");}



搜索更多相关主题的帖子: 数组 输出 元素 平均值 cout 
2018-05-10 17:52
陈智
Rank: 2
等 级:论坛游民
帖 子:2
专家分:19
注 册:2018-5-10
收藏
得分:14 
我也是个新手,只发表一下自己的看法,我没看到你主函数调用了prime函数啊,而且prime函数中没有a,b数组啊。
2018-05-10 22:03
gk2017111308
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-5-9
收藏
得分:0 
回复 2楼 陈智
确实,我就是想不通怎样定义一个子函数才能判断数组中的数字是不是素数,也不知道怎么调用子函数,像那种纯粹的数学问题,纯粹的函数我还能搞懂,这种就不行了。兄弟,我的第一个问题你能看懂吗?能的话帮我解决一下。你看看我敲的代码,
#include<iostream>
#include<iomanip>
using namespace std;
void main()
{cout<<"龚科2017111308"<<endl;
int i,j;
double a[16],ave,sum(0),mid;
cout<<"请输入15个实型数:"<<endl;
for(i=0;i<15;i++)
{cin>>a[i];}
for(i=0;i<15;i++)
{if(i%5==0)
cout<<endl;
    cout<<setw(5)<<a[i]<<"  ";}
cout<<endl;
for(i=0;i<15;i++)
{sum=sum+a[i];}
ave=sum/15;
for(i=1;i<15;i++)
for(j=0;j<=15-i;j++)
{{{{{{{{if(a[j]>a[j+1])
mid=a[j];
a[j]=a[j+1];
a[j]=mid;}
a[15]=ave;}}}}}}}}}
cout<<"调整后的数据为:"<<endl;
for(i=0;i<16;i++)
{if(i%5==0)
cout<<endl;
    cout<<setw(5)<<a[i]<<"  ";}
cout<<endl;
system("pause");}
就是我用一堆大括号括起来的这部分,怎么改才能把数据调整成题目要求的样子呢?
2018-05-10 22:27
开心12
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-4-29
收藏
得分:0 
大佬,我能看看你的第一题吗
2020-04-29 16:25
风居的街道
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-11-23
收藏
得分:0 
2020-11-23 13:19
快速回复:C++,一维数组。求高手前辈指点。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032675 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved