我怎么这么菜


私信TA

用户名:xujingcheng

访问量:18146

签 名:

Break Away

等  级
排  名 712
经  验 3889
参赛次数 4
文章发表 44
年  龄 10
在职情况 学生
学  校 NUAA
专  业

  自我简介:

毕业前学一下编程, 嗯! 是这样。

/*解题思路:从第二位数开始n=2,...,9与起始数分别比较:
          <1>小于起始数:1.将线性表index=0~n分别向右移1位
                  2.再将此数移至index=0处
          <2>大于起始数:不做任何处理
*/

AC代码:
#include <iostream>
#include<iomanip>
#define N 9
using namespace std;
void move_front(int *object)
{
     int index=1,dp;
     const int front=object[0];
     while(index<N)
     {
          if(object[index]<front)
          {
              dp=object[index];
              for(int i=index;i>0;i--)
              object[i]=object[i-1];
              object[0]=dp;
          }
          ++index;
     }
     return ;
}
int main()
{
    ios::sync_with_stdio(false);
    int row;
    cin>>row;
    int **num=new int*[row];
    for(int t=0;t<row;t++)
    num[t]=new int[N];
    for(int i=0;i<row;i++)
    for(int j=0;j<N;j++)
    cin>>num[i][j];
    for(int i=0;i<row;i++)
    move_front(num[i]);
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<N;j++)
        {
            cout.setf(ios::left,ios::adjustfield);
            cout<<setw(2)<<num[i][j];
        }
        cout<<endl;
    }
     for(int t=0;t<row;t++)
         delete []num[t];
         delete [] num;
    return 0;
}
 

0.0分

4 人评分

  评论区

  • «
  • »