一、问题及代码
* 作 者: 谢丹
* 完成日期: 2016 年 5 月24 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:数组排序
* 输入描述: 输入十个数
* 问题描述: 排序、删除、添加
* 程序输出:
* 问题分析:
* 算法设计:
#include<iostream>
using namespace std;
#include<stdio.h>
int main()
{
const int N=10;
int a[N],i,j,k,t,b,c;
cout<<"请输入十个不重复的数字:";
for(i=0;i<N;i++)
cin>>a[i];C
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
cout<<"您输入的数字排序后为:";
for(i=0;i<N;i++)
cout<<a[i]<<'\0';
cout<<endl;
cout<<"请输入要删去的数字:";
cin>>b;
for(i=0;i<N-1;i++)
{
if(b==a[i])
{
for(k=i;k<N-1;k++)
a[k]=a[k+1];
cout<<"删去该数字之后的数组为:";
for(i=0;i<N-1;i++)
cout<<a[i]<<'\0';
cout<<endl;
break;
}
if(i==N-1)
cout<<"该数组没有要删除的数字。"<<endl;
}
cout<<"请输入要添加的数字:";
cin>>c;
for(i=N-2;i>=0;i--)
{
if(c>a[i])
{
for(k=N-2;k>i;k--)
a[k+1]=a[k];
a[i+1]=c;
break;
}
}
cout<<"添加该数字之后的数组为:";
for(i=0;i<10;i++)
cout<<a[i]<<'\0';
cout<<endl;
return 0;
}
二、运行结果
三、知识点总结:
数组的输入和输出,可以通过冒泡法对数组进行排序
四、心得体会
掌握了冒泡法排序