问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:number.cpp
*作 者:单昕昕
*完成日期:2014年11月23日
*版 本 号:v1.0
*
*问题描述:定义好一个有10个元素的数组,先输入9个呈升序的数作为前9个元素,再输入一个数,要求按原来排序的规律将它插入数组中。
*程序输出:第一行,原始数列,9个呈升序的数;第二行,需要插入的数字,即输出插入后有序的数列。
*/
#include <iostream>
using namespace std;
const int N=10;
int main( )
{
int a[10]= { };
int i,k,n;
for(i=0; i<9; ++i)
cin>>a[i];
cin>>n;
k=8;
do
{
a[k+1]=a[k];
--k;
}
while(a[k]>n&&k>=0);
k+=1;
a[k]=n;
for(i=0; i<N; i++)
cout<<a[i]<<endl;
return 0;
}
运行结果:
知识点总结:
在有序数组中插入数据。
学习心得:
这个程序写得十分艰难。
出现过三种不同类型的错误,一是输入的数输出总为0;二是输入的数总为a【0】;三是输入的数在数组最后为一随机数。
而且我试了各种句型结构,最后一次还把if当成while用了。好辛酸~~