hduoj 2019数列有序

来源:互联网 发布:新东方网络视频哪里买 编辑:程序博客网 时间:2024/03/29 18:35
#include<iostream>using namespace std;int main() {     int n,m,j;    int a[101];    while(scanf("%d %d",&n,&m)!=EOF)    {       if(n==0&&m==0)        break;      int i=0,j=0,flag=0;   /*注意定义的flag在这里是作为一个找到位置的标志,防止持续的比较交换,                        且切记flag要设立在for循环外 */       for(i=0,j=0;i<n;i++,j++) //这里的i和j的用法十分巧妙,i仅用作循环次数不参与数组,j参与         {            cin>>a[j];                if(a[j]>m&&flag==0)  //找到之后将下一个数赋值为m,同时要j++要使用两次!              {                a[j+1]=a[j];               a[j]=m;               flag=1;               j++;              }           }         for(i=0;i<=n;i++)//这也是新的一种输出的方式,和之前用的标记法比起来 这个更加简便         {            if(i>0)              cout<<" ";             cout<<a[i];}   cout<<endl;                }return 0;  } 

这个题目体会挺多
0 0
原创粉丝点击