有100个不重复的数,随机放在a【100】数组内,请编写一程序实现下列功能;(语言c/c++) A,去除所有能被3
要求是。A,去除所有能被3整除的数B,剩下的数按从大道小顺序排列C,再去掉前10个数和最后10个数D,剩下的所有数算平均值,结果放人b中要完整的程序哦。最好有文字说明,谢...
要求是。
A,去除所有能被3整除的数
B,剩下的数按从大道小顺序排列
C,再去掉前10个数和最后10个数
D,剩下的所有数算平均值,结果放人b中
要完整的程序哦。最好有文字说明,谢谢了 展开
A,去除所有能被3整除的数
B,剩下的数按从大道小顺序排列
C,再去掉前10个数和最后10个数
D,剩下的所有数算平均值,结果放人b中
要完整的程序哦。最好有文字说明,谢谢了 展开
2个回答
展开全部
终于给你写完了,完全按照你的要求,由计算机随机产生100个数,呵呵。
如果你不满意,我也可以给你写一个函数的,让你可以控制流程,按照你的意思一步一步进行。
#include<iostream.h>
#include<iomanip.h>
#include<time.h>
#include<stdlib.h>
void main()
{int a[100],c[100];
int k,i,m,t,min_no,sum;double b;
srand(time(NULL));
for(k=0;k<100;k++)
{a[k]=rand()%100;
cout<<setw(4)<<a[k];}
cout<<endl<<"筛选后的数是"<<endl;
for(k=0,i=0;k<100;k++)
{if((a[k]%3!=0)&&(a[k]!=0))
{cout<<setw(4)<<a[k];
c[i]=a[k]; i++;}
}
cout<<endl<<"排列后的数是"<<endl;
for(m=0;m<i;m++)
{for(min_no=m,k=m+1;k<i;k++)
if(c[k]>c[min_no]) min_no=k;
if(min_no!=m) {t=c[m];c[m]=c[min_no];c[min_no]=t;}}
for(m=0;m<i;m++)
cout<<setw(4)<<c[m];
cout<<endl;
cout<<"去掉前后各十个数后是"<<endl;
for(m=10;m<i-10;m++)
cout<<setw(4)<<c[m];
cout<<endl;
cout<<"求得的平均数是"<<endl;
for(m=10,sum=0;m<i-10;m++)
sum+=c[m];
b=sum/(i-21);
cout<<"b="<<b<<endl;
}
如果你不满意,我也可以给你写一个函数的,让你可以控制流程,按照你的意思一步一步进行。
#include<iostream.h>
#include<iomanip.h>
#include<time.h>
#include<stdlib.h>
void main()
{int a[100],c[100];
int k,i,m,t,min_no,sum;double b;
srand(time(NULL));
for(k=0;k<100;k++)
{a[k]=rand()%100;
cout<<setw(4)<<a[k];}
cout<<endl<<"筛选后的数是"<<endl;
for(k=0,i=0;k<100;k++)
{if((a[k]%3!=0)&&(a[k]!=0))
{cout<<setw(4)<<a[k];
c[i]=a[k]; i++;}
}
cout<<endl<<"排列后的数是"<<endl;
for(m=0;m<i;m++)
{for(min_no=m,k=m+1;k<i;k++)
if(c[k]>c[min_no]) min_no=k;
if(min_no!=m) {t=c[m];c[m]=c[min_no];c[min_no]=t;}}
for(m=0;m<i;m++)
cout<<setw(4)<<c[m];
cout<<endl;
cout<<"去掉前后各十个数后是"<<endl;
for(m=10;m<i-10;m++)
cout<<setw(4)<<c[m];
cout<<endl;
cout<<"求得的平均数是"<<endl;
for(m=10,sum=0;m<i-10;m++)
sum+=c[m];
b=sum/(i-21);
cout<<"b="<<b<<endl;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询