/*
* 文件名称:Ex1-1.cpp
* 作 者:零梅
* 完成日期:2016 年 6月 5 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。
* 程序输出:略
* 问题分析:略
* 算法设计:略
*/
一、问题和代码
#include <iostream>
using namespace std;
void sort(int p[], int n); //数组排序
bool prime(int x); //素数判断
void print(int p[],int n);//输出数组
int main( )
{ int a[10]={2,13,5,47,19,53,27,23,28,11};
int b[10],i,j=0;
for(i=0;i<10;i++)
{
if(prime(a[i]))
b[j++]=a[i];
//将a中的素数存入b数组
}
print(b,8); //输出排序前的b数组
sort(b,8); //对数组b排序
print(b,8); //输出排序后的b数组
using namespace std;
void sort(int p[], int n); //数组排序
bool prime(int x); //素数判断
void print(int p[],int n);//输出数组
int main( )
{ int a[10]={2,13,5,47,19,53,27,23,28,11};
int b[10],i,j=0;
for(i=0;i<10;i++)
{
if(prime(a[i]))
b[j++]=a[i];
//将a中的素数存入b数组
}
print(b,8); //输出排序前的b数组
sort(b,8); //对数组b排序
print(b,8); //输出排序后的b数组
return 0;
}
void sort(int p[], int n)
{ int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(p[j]<p[j+1])
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
}
}
bool prime(int x)
{
int i;
for(i=2;i<x;i++)
if(x%i==0)
return false;
return true;
}
void sort(int p[], int n)
{ int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(p[j]<p[j+1])
{
t=p[j];
p[j]=p[j+1];
p[j+1]=t;
}
}
}
}
bool prime(int x)
{
int i;
for(i=2;i<x;i++)
if(x%i==0)
return false;
return true;
}
void print(int p[],int n)
{ int i;
for(i=0;i<n;i++)
cout<<p[i]<<" ";
cout<<endl;
}
void print(int p[],int n)
{ int i;
for(i=0;i<n;i++)
cout<<p[i]<<" ";
cout<<endl;
}
//下面定义自定义函数
二、运行结果:
三、心得体会:
写程序要细心
四:知识点总结:
数组的运用。
一:奇偶阶层
#include <iostream>
using namespace std;
int c[10];
int d[10];
int j,k=0;
void f(int p[],int n)
{
using namespace std;
int c[10];
int d[10];
int j,k=0;
void f(int p[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(p[i]%2==0)
c[j++]=p[i];
else
d[k++]=p[i];
}
}
long fac(int x)
{
int s;
if(x==0)
s=1;
else
s=x*fac(x-1);
return s;
}
void main()
{
int a[10];
int y,e,r,i=0,o=0;
for(y=0;y<10;y++)
cin>>a[y];
f(a,10);
for(e=0;e<j;e++)
i+=fac(c[e]);
for(r=0;r<k;r++)
o+=fac(d[r]);
cout<<i<<endl<<o<<endl;
}
for(i=0;i<n;i++)
{
if(p[i]%2==0)
c[j++]=p[i];
else
d[k++]=p[i];
}
}
long fac(int x)
{
int s;
if(x==0)
s=1;
else
s=x*fac(x-1);
return s;
}
void main()
{
int a[10];
int y,e,r,i=0,o=0;
for(y=0;y<10;y++)
cin>>a[y];
f(a,10);
for(e=0;e<j;e++)
i+=fac(c[e]);
for(r=0;r<k;r++)
o+=fac(d[r]);
cout<<i<<endl<<o<<endl;
}
二:杨辉三角
#include<iostream>
using namespace std;
void f(int x)
{
int p[100][100];
int i,j,s;
for(j=0;j<x;j++)
{
p[0][j]=1;p[j][j]=1;
}
for(i=2;i<x;i++)
for(j=1;j<i;j++)
{
p[i][j]=p[i-1][j-1]+p[i-1][j];
}
}
using namespace std;
void f(int x)
{
int p[100][100];
int i,j,s;
for(j=0;j<x;j++)
{
p[0][j]=1;p[j][j]=1;
}
for(i=2;i<x;i++)
for(j=1;j<i;j++)
{
p[i][j]=p[i-1][j-1]+p[i-1][j];
}
}
void main()
{
int n;
cout<<"请输入一个数n"<<endl;
cin>>n;
f(n);
for(i=0;i<x;i++)
{
for(j=0;j<x-1;i++)
cout<<" ";
for(s=0;s<=i;s++)
cout<<p[i][s];
cout<<endl;
}
}
{
int n;
cout<<"请输入一个数n"<<endl;
cin>>n;
f(n);
for(i=0;i<x;i++)
{
for(j=0;j<x-1;i++)
cout<<" ";
for(s=0;s<=i;s++)
cout<<p[i][s];
cout<<endl;
}
}